1. 程式人生 > >awr報告基礎

awr報告基礎

比較 event 統計 relative tis 如果 neu 微軟雅黑 獲取數據

awr報告基礎

study oracle基礎

awr

1. awr是什麽

awr是oracle 10g後提供的一種性能收集和分析工具,它能夠提供一個時間段內整個系統資源使用情況的報告。

2. awr生成方式

修改awr生成時間,保存周期

-- interval  快照間隔,單位是分鐘
-- retention 快照保留周期,單位是分鐘
execdbms_workload_repository.modify_snapshot_settings(interval=>60,retention=>7*2*24*60);

手工生成

註:生成當前時間awr

-- 生成當前時點awr報告,後續使用awr生成命令
exec dbms_workload_repository.create_snapshot();

生成方式

SQL>@?/rdbms/admin/awrrpt

3. 分析awr

用處:通過awr報告可以:1)查看系統的負載和繁忙程度;2)查看系統的瓶頸,發生的等待事件;3)查看可優化的sql;

3.1 Report Summary(報告摘要):

1、SESSIONS:實例連接的會話數,數據庫大概的並發用戶數;
2、cursors/session:每個會話平均打開的遊標數;
3、DB time:用戶操作花費的時間的合集,包括CPU時間和等待事件;
4、cache sizes

:列舉awr在性能采集開始和結束的時候,數據緩沖池和共享池的大小,可以了解系統內存消耗的變化,可以判斷SGA的內存分配是否合理;
5、load profile:數據庫資源負載的一個明細列表,用來判斷系統的繁忙程度。分割為每秒鐘的資源負載和每個事務的資源負載情況。
6、Instance Efficiency Percentages:內存效率的統計信息,對於OLTP系統,應盡可能的接近100%。如果哪個數據偏低,就要做相關的分析研究。
1)buffer nowait:非等待方式獲取數據庫;
2)redo nowait:非等待方式獲取redo數據;
3)buffer hit:內存數據塊命中率;
4)in-memory sort:數據塊在內存中排序的百分比;
5)library hit:共享池中sql解析的命中率;
6)execute to parse:執行次數對分析次數的百分比;
7)latch Hit:latch命中率百分比;
8)parse cpu to parse elapsed:解析總時間中消耗CPU的時間百分比;
9)non-parse cpu:cpu非分析時間在整個cpu時間的百分比;
7、TOP 5 TIMED EVENTS
:查看最高5個耗費時間及等待事件,要聯系報告的采集周期來看耗費時間是否合理。一般來說,CPU time出現在TOP5中的第一位,並且消耗時間占總時間的大部分比例。可以說明系統在正常運行。
對於ORACLE常見的等待事件可參考oracle常見的等待事件說明
以上這部分就是awr報告的總體概要,是需要重點關註的部分,根據這些信息可以知道等待時間比較長的事件,然後根據這些事件,去下面具體的部分查找問題原因。

3.2 Wait Events Statistics:

1、Time Model Statistics列出了各種操作占用的數據庫時間比例;
2、Foreground Wait Class列出了等待事件類型,可以看到等待時間最長的事件;
3、Foreground Wait Events是第一部分TOP 5 TIMED EVENTS的詳細部分;
4、Background Wait Events實例的後臺進程等待事件;

3.3 SQL Statistics:

1、SQL ordered by Elapsed Time:按照sql的執行時間從長到短的排序;
1)CPU time:sql消耗的CPU時間;
2)elapsed time:sql執行時間;
3)executions:sql執行的次數;
4)elapsed per exec:每次執行消耗的執行時間;
2、SQL ordered by CPU Time:按照sql的CPU時間從長到短排序:
3、SQL ordered by User I/O Wait Time
4、SQL ordered by Gets:按照sql獲取的內存數據塊的數量排序:
5、SQL ordered by Reads:按照sql執行物理讀排序:
6、SQL ordered by Physical Reads (UnOptimized)
7、SQL ordered by Executions:按照sql的執行次數的排序;
8、SQL ordered by Parse Calls:按照sql被分析次數(不區分軟解析還是硬解析)的信息排序;
9、SQL ordered by Version Count:sql產生多版本的信息;version count是sql的版本數;
以上指標孤立起來看都沒有實際意義,需要看系統的類型和性能問題是什麽方面,有側重的進行分析。例如SQL ordered by Executions和SQL ordered by Parse Calls對OLTP比較重要,而OLAP系統不需要太關註。

3.4 Instance Activity Statistics:

cpu used by this session:oracle消耗的cpu單位,可以看出cpu的負載情況;如果total為1000,per sec 為80,cpu個數為2;
那麽就是整個統計周期消耗了1000個cpu單位,每秒鐘消耗了80個cpu單位,對應實際的時間是80/100=0.8秒;每秒鐘每個cpu消耗80/2=40個cpu單位;每秒鐘中每個cpu處理使用的時間是40/100=0.4秒。

3.5 IO Stats:

Tablespace IO Stats:表空間的IO性能統計;
File IO Stats
1)reads:發生了多少次物理讀;
2)writes:發生了多少次寫;
3)Av reads:每秒鐘物理讀的次數;
4)Av Rd:平均一次物理讀的時間;
5)Blks/Rd:每次讀多少個數據塊;
6)Av writes:每秒鐘寫的次數;
7)buffer waits:獲取內存數據塊等待的次數;
segments by logical readssegment by physical reads從對象角度來展現了IO情況,分析這兩部分信息,可以具體知道哪些對象的訪問導致了IO性能下降。

ASH























部分內容摘自ORACLE AWR性能報告和ASH性能報告的解讀

awr報告基礎