2020年8月12日 星期三

3.9 Automatic Database Diagnostic Monitor (ADDM)

ADDM (Automatic Database Diagnostic Monitor) 是一個用來分析及診斷資料庫問題的一個工具,ADDM 是以 AWR Snapshot 為基礎來對資料庫作一個診斷,分析資料庫所遭遇到的問題,例如 CPU 、 I/O 的效能瓶頸、 High-load SQL (PL/SQL) statements...等,DBA 可以針對 ADDM 所提供的建議進行改善,藉由 ADDM,DBA 可以省去了分析 AWR Report 的時間,對於初階或是對 AWR Report 還不熟悉的朋友來說,ADDM 是一個管理 Oracle 資料庫上的好幫手。


要使用 ADDM,可以藉由 Database Control 中,效能 🡪 程式建議中心,來執行ADDM:


或是透過 SQL*PLUS 執行 $ORACLE_HOME/rdbms/admin 底下的 addmrpt.sql 來執行:

SQL> @?/rdbms/admin/addmrpt.sql


執行了 ADDM,需設定分析的區間,選擇起始與結束的 Snapshot:


運行結束後便可以檢視 ADDM Report:


由 ADDM Report 中可以發現,ADDM 針對了 CPU、I/O、網路...等項目作了診斷,以這個例子來說,ADDM 並未在這些項目上發現問題,而有 87.9% 的效能問題來自 Top SQL,有 2.9% 來自 Hard Parse。DBA 經由這份報表就可以很清楚的知道,主要的效能問題來自 Top SQL,只要再點選這個項目,就可以知道這些 Top SQL 語句的內容,然後加以改善。


程式建議中心除了 ADDM 外,還有些實用的建議工具,如:


SQL Tuning Advisor : 對 SQL 語句做調整上的建議,例如統計資訊的收集、建議 index ...等。


SQL Access Advisor : 提供 SQL 對於整體負載的相關建議,例如 partition、MView、index...等方面的改善建議。


Memory Advisor : 提供 SGA、PGA 或是一些 pool 大小的建議。


Segment Advisor : 提供對於 Table 、 Index...等是否做 Shrink 的建議。<br />Undo Advisor : 提供 Undo retention 的建議。 


DBA 可以利用 ADDM 所提供的建議為基礎,搭配各種 Advisor 對資料庫進行調整,例如 ADDM 指出部分 High-Load SQL,此時就可以針對這些 SQL 執行 SQL Tuning Advisor 或 SQL Access Advisor 來進行調整。有了 ADDM 與其他建議工具,管理 Oracle 資料庫起來更加的方便。

沒有留言:

張貼留言