檢視資料庫執行的總體情況:
從圖中可以看出:
這是乙個雙節點的rac中的乙個節點的awr報告。
資料庫版本為:11.2.0.4.0
平台為linux x86 64
有72顆cpu共144個核心數
一小時內產生了兩份快照
一小時內db time為4910
所以,可以計算出這個快照週期內資料庫負載為:4910/(10*144)=340%。說明此時間段內資料庫的負載是很高的。但是要注意一點,由於awr報告展示的一段時間內的統計資料,如果快照跨度包括了大量的空閒時間,那麼計算出來的cpu平均利用率也會偏低。
圖中10點50產生快照時候,資料庫中有2952個session;等到11點時資料庫中有2952個session
檢視負載分析表:
建議重點關注以下資料項:
redo size:redo size單位bytes,redo size可以用來估量update/insert/delete的頻率,大的redo size往往對lgwr寫日誌,和arch歸檔造成i/o壓力。
如何解決每秒鐘產生大量redo?
logical reads、block changes、physical reads、physical writes:,評估資料庫的讀/寫繁忙程度,判斷資料庫的活動性質和規模。
邏輯讀的單位是塊,表中每秒讀了50290.4塊,那麼大小就是50290.4*8k=393m;邏輯讀影響全表掃瞄。
parses、hard parses:sql軟解析以及硬解析的次數,評估sql是否需要優化。
executes、transactions:每秒/每事務sql執行次數、每秒事務數.每秒產生的事務數,反映資料庫任務繁重與否。
recursive call:遞迴呼叫佔所有操作的比率.遞迴呼叫的百分比,如果有很多pl/sql,那麼這個值就會比較高。
rollback:每秒回滾率及每事物回滾率,因為回滾很耗資源,如果回滾率過高,可能說明你的資料庫經歷了太多的無效操作 ,過多的回滾可能還會帶來undo block的競爭。
檢視例項效率分析報表:
instance efficiency percentages報表顯示了oracle關鍵指標的記憶體命中率及其它資料庫例項操作的效率:
建議重點關注以下資料項:
buffer nowait %:在記憶體獲得資料的未等待比例。這個值一般需要大於99%,否則可能存在爭用。
buffer hit %:資料塊在資料緩衝區中的命中率,通常應在95%以上。否則需要調整重要的引數,或者要加大db_cache_size。
library hit %:sql在共享區的命中率,通常應該在95%以上。
soft parse %:軟解析的百分比,通常應該在95%以上。,
execute to parse %:語句執行與分析的比例,反映sql的重用率。
檢視共享池統計報表:
shared pool statistics報表顯示了共享池的統計資訊:
memory usage %:共享池記憶體使用率,正常應在75%~90%之間,過低說明有浪費,過高則說明有爭用。
% sql with executions>1:執行次數大於1的sql的比例。
% memory for sql w/exec>1:執行次數大於1的sql消耗記憶體的佔比。
檢視系統top10等待
top 10 foreground events by total wait time表顯示了等待耗時最多的10個事件
乙個效能良好的系統,db cpu項應該排在前5之內
檢視sql統計資訊:
sql statistics中展示了非常全面的sql統計資訊,這非常有利於我們通過分析sql定位問題和風險。
建議重點關注以下:
sql ordered by elapsed time:記錄了執行總時間最長的top sql,其中elapsed time = cpu time + wait time
sql ordered by cpu time:記錄了佔cpu時間最長的top sql
sql ordered by user i/o wait time:記錄了執行過程中等待io時間最長的top sql
sql ordered by gets:記錄了執行最多邏輯讀(邏輯io)的top sql
sql ordered by reads:記錄了執行最多物理讀(物理io)的top sql
sql ordered by executions:記錄了執行次數最多的top sql,即使單條sql執行速度飛快,任何被執行幾百萬次的操作都將耗用大量的時間。
sql ordered by parse calls:記錄了軟解析次數最多的top sql
檢視undo資源資訊:
檢視行鎖等待資訊:
segments by row lock waits表展示了行鎖等待資訊:
當乙個程序在正被其它程序鎖住的資料行上獲得排它鎖時會發生等待,這種等待經常是由在乙個有主鍵索引的表上做大量insert操作時引起。
Oracle AWR報告型別
sql oracle home rdbms admin awrrpt.sql sql oracle home rdbms admin awrrpti.sql 如果乙個節點down機了,那麼可以從另外乙個節點等上去執行這個指令碼做,down機節點的awr報告 sql oracle home rdbms...
Oracle AWR報告筆記
dos 下輸入 1 sqlplus system oracle as sysdba 2 sql rdbms admin awrrpt.sql 3 輸入 report type 的值 html 報告格式,還可以是text 4 輸入 num days 的值 3 假設是3天 5 輸入 begin snap...
提取oracle awr報告
做效能測試時有時需要分析sql的執 況,以找出需要優化的sql,oracle資料庫就提供了很好的資料庫狀態和sql執 況的監控平台,資料庫的監控平台可以時時的監控資料庫的狀態,同時還可以取監控的時間段生成awr報告,來分析指定時間段的資料庫的執行狀態。awr報告其實就是取的資料庫中兩個快照之間資料,...