AWR的數(shù)據(jù)主要有兩部分組成:
1)保存在內(nèi)存中的系統(tǒng)負(fù)載和性能統(tǒng)計數(shù)據(jù),主要通過v$視圖查詢 ;
2)mmon進程定期以快照(snapshot)的方式將內(nèi)存中的AWR數(shù)據(jù)保存到SYSAUX表空間中,主要通過DBA_*視圖訪問。
1. AWR快照的生成
默認(rèn)情況下,每隔一小時自動產(chǎn)生一個快照,保存最近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);
也可以根據(jù)需要隨時手動生成快照:
exec dbms_workload_repository.create_snapshot;
2. AWR報告的生成
以sysdba運行如下命令:
@?/rdbms/admin/awrrpt.sql
3. AWR報告的分析
策略
因為AWR報告非常長,不可能從頭到尾一字不漏的去看,要有選擇的去看重點部分。最好能對照的來讀,即和系統(tǒng)正常情況下的AWR報告對比,找差異。
AWR報告采用總分的形式,前面是系統(tǒng)的整體情況,后面是各個部分細(xì)節(jié),一開始不要陷入細(xì)節(jié),先分析系統(tǒng)的整體狀況,對于后面的專題分析,要根據(jù)關(guān)注點的不同,采取跳躍式分析。
還要根據(jù)具體業(yè)務(wù)的不同,決定某種現(xiàn)象是否正常。
系統(tǒng)整體狀況方面
1)Load Profile:分析系
了解系統(tǒng)整體負(fù)載狀況,如每秒中的事務(wù)數(shù)/語句數(shù),每秒/每事務(wù)物理讀寫次數(shù)(Physical Reads/Writes), 邏輯讀寫次數(shù)(Logical Reads/Writes),SQL語句的解析(Parse),特別是硬解析次數(shù)等。
2)Instance Efficiency Percentages:各指標(biāo)都應(yīng)接近100%,除了:execute to parse (70%以上)和parse cpu to parse elapsed。如果不符合,基本可以確定系統(tǒng)存在性能問題;但是如果反過來,即都符合,也不能說明系統(tǒng)完全正常,還要看實際情況。
具體狀況方面
1)Top 5 Timed Events:這里列出消耗時間最多的5個等待事件,每種等待說明,都表示一種原因,如:db file sequential read表示按索引訪問出現(xiàn)等待,db file scattered reade表示全表掃描訪問出現(xiàn)等待事件。
2)Top N SQL:根據(jù)時間消耗,內(nèi)存消耗,物理I/O等排序,對相關(guān)SQL分析執(zhí)行計劃
3)如果是RAC環(huán)境,需要特別關(guān)注RAC Statistic中的相關(guān)指標(biāo)
4)SGA PGA分析
5)分析表空間、數(shù)據(jù)文件I/O
您可能感興趣的文章:- oracle AWR性能監(jiān)控報告生成方法
- Oracle AWR(自動工作量資料檔案庫)的管理與維護詳解