Oracle 11g的addm功能是一項非常重要的數據庫性能診斷工具,可以幫助數據庫管理員快速的定位數據庫性能問題并提供解決方案。下面我們來詳細的了解一下addm的使用。
在使用addm之前,先介紹一下awr(自動工作負載庫)這一概念。awr是oracle自帶的一種診斷工具,它收集了一段時間內數據庫的運行狀態和性能信息,形成一個快照。awr可以在某些方面反映數據庫的運行狀態,如查詢次數、重復SQL等。addm利用awr生成的快照數據,通過數據分析和建議綜合評估技術來診斷數據庫的性能問題并提供解決方案。
假設,在系統中某個時間段內,數據庫的響應時間明顯延長。在這種情況下,我們需要使用addm來幫助我們查明性能問題的原因。我們可以通過以下步驟執行addm:
1. 選擇awr報告旁邊的“addm”選項卡 2. 在彈出的頁面中,選擇要進行診斷分析的快照,并單擊“查看”按鈕 3. 分析和解決性能問題
在這里,我們需要注意到awr中的數據范圍可以通過所選時間范圍或當前報告對應的時間范圍來過濾掉時間范圍的性能數據。選擇不同的數據范圍會影響分析的結果,在確認需要分析的性能快照后,可以進入下一步。
一旦addm生成了分析報告,我們可以看到診斷分析的詳細結果。addm會分析數據庫的運行狀態,使用多個指標來評估數據庫的性能,并提供有關如何改進性能的建議。另外,addm還會列出針對性能問題的解決方案和推薦的實施步驟。
例如,當我們使用addm進行診斷分析時,會生成一張報告,如下圖所示:
ADDM Report for Database Analysis Period: 01-Jan-2017 00:00 - 02-Jan-2017 00:00 Finding 1: High Load SQL Statements Impact is 27 active sessions, 98% of total activity. SQL ID: dsasdf014s Plan Hash Value: 388199234 Execution Plan ---------------------------------------------------------- Plan hash value: 388199234 ------------------------------------------------------------------------------------------------ | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | ------------------------------------------------------------------------------------------------ | 0 | SELECT STATEMENT | | 348K| 27M| 82825 (1)| 00:16:34 | | 1 | SORT ORDER BY | | 348K| 27M| 82825 (1)| 00:16:34 | | 2 | PX RECEIVE | | 348K| 27M| 82707 (1)| 00:16:34 | | 3 | PX SEND BROADCAST | :TQ10002 | 348K| 27M| 82707 (1)| 00:16:34 | | 4 | PX BLOCK ITERATOR | | 348K| 27M| 82707 (1)| 00:16:34 | | 5 | TABLE ACCESS FULL | TAB_NAME_A | 348K| 27M| 82707 (1)| 00:16:34
我們可以從報告中找到另一張匯總表,我們可以從中看到高負載的SQL語句和所占的時間百分比。另外,還可以看到SQL的計劃和執行統計信息,以及執行計劃的成本估算值。
addm診斷分析的結果也非常有幫助。首先,用戶可以確切地知道性能問題的根本原因。通過addm生成的詳細報告,我們可以得到針對性能問題的解決方案和建議。其次,通過使用addm,我們可以更高效地進行數據庫性能的優化。addm可以自動分析和比較不同的性能數據,以提供更準確和全面的解決方案。
總之,在使用Oracle 11g數據庫中,addm是一個非常有用的數據庫性能診斷工具,是一種幫助數據庫管理員快速找到和解決數據庫性能問題的有效方法。