萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> oracle教程 >> [Oracle] 分析AWR報告的方法介紹

[Oracle] 分析AWR報告的方法介紹

因為AWR報告非常長,不可能從頭到尾一字不漏的去看,要有選擇的去看重點部分。最好能對照的來讀,即和系統正常情況下的AWR報告對比,找差異。以下就是對分析AWR報告的方法進行了介紹,需要的朋友參考下  

AWR的數據主要有兩部分組成:
1)保存在內存中的系統負載和性能統計數據,主要通過v$視圖查詢 ;
2)mmon進程定期以快照(snapshot)的方式將內存中的AWR數據保存到SYSAUX表空間中,主要通過DBA_*視圖訪問。

1. AWR快照的生成
默認情況下,每隔一小時自動產生一個快照,保存最近7天的信息,可以通過以下語句查詢:
SQL>select SNAP_INTERVAL,RETENTION from dba_hist_wr_control;

SNAP_INTERVAL       RETENTION
----------------------------------------------------------
+00000 01:00:00.0       +00007 00:00:00.0
可以通過以下語句修改時間間隔和保存時間(以分鐘為單位):
exec dbms_workload_repository.modify_snapshot_settings(interval => 30, retention = > 10*24*60);
也可以根據需要隨時手動生成快照:
exec dbms_workload_repository.create_snapshot;

2. AWR報告的生成
以sysdba運行如下命令:
@?/rdbms/admin/awrrpt.sql

3. AWR報告的分析
策略
因為AWR報告非常長,不可能從頭到尾一字不漏的去看,要有選擇的去看重點部分。最好能對照的來讀,即和系統正常情況下的AWR報告對比,找差異。

AWR報告采用總分的形式,前面是系統的整體情況,後面是各個部分細節,一開始不要陷入細節,先分析系統的整體狀況,對於後面的專題分析,要根據關注點的不同,采取跳躍式分析。
還要根據具體業務的不同,決定某種現象是否正常。

系統整體狀況方面
1)Load Profile:分析系
了解系統整體負載狀況,如每秒中的事務數/語句數,每秒/每事務物理讀寫次數(Physical Reads/Writes), 邏輯讀寫次數(Logical Reads/Writes),SQL語句的解析(Parse),特別是硬解析次數等。

2)Instance Efficiency Percentages:各指標都應接近100%,除了:execute to parse (70%以上)和parse cpu to parse elapsed。如果不符合,基本可以確定系統存在性能問題;但是如果反過來,即都符合,也不能說明系統完全正常,還要看實際情況。

具體狀況方面
1)Top 5 Timed Events:這裡列出消耗時間最多的5個等待事件,每種等待說明,都表示一種原因,如:db file sequential read表示按索引訪問出現等待,db file scattered reade表示全表掃描訪問出現等待事件。
2)Top N SQL:根據時間消耗,內存消耗,物理I/O等排序,對相關SQL分析執行計劃
3)如果是RAC環境,需要特別關注RAC Statistic中的相關指標
4)SGA PGA分析
5)分析表空間、數據文件I/O

copyright © 萬盛學電腦網 all rights reserved