天天看點

Statspack Report Read Info

Statspack Report Read Info[@more@]

一、statspack 輸出結果中必須檢視的十項内容

1、負載間檔(Load profile)

2、執行個體效率點選率(Instance efficiency hit ratios)

3、首要的5個等待事件(Top 5 wait events)

4、等待事件(Wait events)

5、闩鎖等待

6、首要的SQL(Top sql)

7、執行個體活動(Instance activity)

8、檔案I/O(File I/O)

9、記憶體配置設定(Memory allocation)

10、緩沖區等待(Buffer waits)

2、負載間檔

該部分提供每秒和每個事務的統計資訊,是監控系統吞吐量和負載變化的重要部分

說明:

Redo size:每秒産生的日志大小(機關位元組),可标志資料庫任務的繁重與否

Logical reads:平決每秒産生的邏輯讀,機關是block

block changes:每秒block變化數量,資料庫事務帶來改變的塊數量

Physical reads:平均每秒資料庫從磁盤讀取的block數

Physical writes:平均每秒資料庫寫磁盤的block數

User calls:每秒使用者call次數

Parses:每秒解析次數,近似反應每秒語句的執行次數

軟解析每秒超過300次意味着你的"應用程式"效

率不高,調整session_cursor_cache

Hard parses:每秒産生的硬解析次數

Sorts:每秒産生的排序次數

Executes:每秒執行次數

Transactions:每秒産生的事務數,反映資料庫任務繁重與否

3、執行個體命中率

該部分可以提前找出ORACLE潛在将要發生的性能問題,很重要

說明:

Buffer Nowait %:在緩沖區中擷取Buffer的未等待比率

Redo NoWait %:在Redo緩沖區擷取Buffer的未等待比率

Buffer Hit %:資料塊在資料緩沖區中得命中率,通常應在90%以上,否則,需要調整

In-memory Sort %:在記憶體中的排序率

Library Hit %:主要代表sql在共享區的命中率,通常在95%以上,否,需要要考慮加大共享池,綁定變量,修改cursor_sharing等參數。

Soft Parse %:近似看作sql在共享區的命中率,小于<95%,需要考慮到綁定,如果低于80%,那麼就可能sql基本沒有被重用

Execute to Parse %:sql語句解析後被重複執行的次數,如果過低,可以考慮設定session_cached_cursors參數

Parse CPU to Parse Elapsd %:解析實際運作事件/(解析實際運作時間+解析中等待資源時間) 越高越好

% Non-Parse CPU:查詢實際運作時間/(查詢實際運作時間+sql解析時間),太低表示解析消耗時間過多。

Shared Pool相關統計資料

Memory Usage %:共享池記憶體使用率,應該穩定在75%-90%間,太小浪費記憶體,太大則記憶體不足。

% SQL with executions>1:執行次數大于1的sql比率,若太小可能是沒有使用bind variables。

% Memory for SQL w/exec>1:也即是memory for sql with execution > 1:執行次數大于1的sql消耗記憶體/所有sql消耗的記憶體

4、首要等待事件

常見等待事件說明:

oracle等待事件是衡量oracle運作狀況的重要依據及訓示,主要有空閑等待事件和非空閑等待事件;空閑等待事件是oracle正等待某種工作,在診斷和優化資料庫時候,不用過多注意這部分事件,非空閑等待事件專門針對oracle的活動,指資料庫任務或應用程式運作過程中發生的等待,這些等待事件是我們在調整資料庫應該關注的。

db file scattered read

該事件通常與全表掃描有關。因為全表掃描是被放入記憶體中執行的,通常情況下它不可能被放入連續的緩沖區中,是以就散布在緩沖區的緩存中。該值的數量過大說明缺少索引或者限制使用索引。這種情況也可能是正常的,因為執行全表掃描可能比索引掃描效率更高。當系統存在這些等待時,需要通過檢查來确定全表掃描是否必需調整。可以嘗試将較小的表放入緩存keep中,避免反複讀取它們。

db file sequential read

該事件說明在單個資料塊上大量等待,該值過高通常是由于表間連接配接順序很糟糕,或者使用了非選擇性索引。通過将這種等待與statspack報表中已知其它問題聯系起來(如效率不高的sql),通過檢查確定索引掃描是必須的,并確定多表連接配接的連接配接順序來調整。

buffer busy wait

當緩沖區以一種非共享方式或者正在被讀入到緩沖時,就會出現該等待.該值不應該大于1%,确認是不是由于熱點塊造成(如果是可以用反轉索引,或者用更小的blocksize)

latch free

闩鎖是底層的隊列機制(更加準确的名稱應該是互斥機制),用于保護系統全局區(SGA)共享記憶體結構。闩鎖用于防止對記憶體結構的并行通路。如果闩鎖不可用,就會記錄一次闩鎖丢失。絕大多數闩鎖問題都與使用綁定變量失敗(庫緩存闩鎖)、生成redo問題(redo配置設定闩鎖)、緩存的争用問題(緩存LRU鍊)以及緩存的熱資料寬塊(緩存鍊)有關。當闩鎖丢失率高于0.5%時,需要調整這個問題。

log buffer space

日志緩沖區寫的速度快于LGWR寫logfile的速度,可以增大日志檔案大小,增加日志緩沖區的大小,或者使用更快的磁盤來寫資料。

logfile switch

通常是因為歸檔速度不夠快,需要增大重做日志

log file sync

當一個使用者送出或復原資料時,LGWR将會話的重做操作從日志緩沖區寫到日志檔案中,使用者的程序必須等待這個寫操作完成。為減少這個等待事件,須一次送出更多記錄,或者将重做日志REDO LOG 檔案訪在不同的實體磁盤上.

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/21102096/viewspace-1019105/,如需轉載,請注明出處,否則将追究法律責任。

轉載于:http://blog.itpub.net/21102096/viewspace-1019105/