Oracle Statspack報告中各項指標含義詳解!(轉)

beautychina發表於2011-06-10



資料塊在資料緩衝區中的命中率,通常應該在90%以上,否則考慮加大 db_block_buffers(9i 以上可是db_cache_size)

Buffer Nowait Ratio#
在緩衝區中獲取buffer 的未等待比率

Library Hit Ratio#
主要代表著在共享區的命中率,通常在98%以上

In Memory Sort Ratio#如果過低說明有大量的排序在臨時表空間中進行,可嘗試增加sort_area_size

Redo Nowait Ratio#寫日誌的不等待比率,太低可調整log_buffer(增加)和 _log_io_size(減小,預設為1/3*log_buffer/log_block_size,使得 _log_io_size 為合適的值,比如128k/log_block_size)

Soft Parse Ratio#近似當作sql在共享區的命中率,通常高代表使用了繫結變數,太低需要調整應用使用繫結變數,或者參考cursor_sharing = force (9i 中增加了 similar )

Latch Hit Ratio#內部結構維護鎖命中率,高於99%,通常低是因為shared_pool_size過大和沒有使用繫結變數導致硬解析過多,可參考 _spin_count 引數設定

Percent Non-Parse CPU#
查詢實際執行時間/(查詢實際執行時間+sql解析時間),太低表示解析消耗時間過長

Percent Parse CPU to Parse Elapsed#
解析實際所用時間/(解析實際所用時間+解析中等待資源時間),越高越好

Execute to Parse Percent#該值越高表示一次解析後被重複執行的次數越多,如果過低可以考慮設定session_cached_cursors > 0

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

Percent of SQLs with Execution>1#
執行次數大於1的sql的比率(若太小可能是沒有使用繫結變數)

Percent of Memory for SQl with Execution>1#
執行次數大於1的sql消耗記憶體/(所有sql消耗記憶體)

Instance Load Profile Redo Size/Sec#>#100000#
每秒產生的日誌大小(單位位元組),可標誌任務的繁重與否

Redo Size/Tx#>#0#
平均每個事務的日誌生成量

Logical Reads/Sec(邏輯讀)#>#0#
平均每秒產生的邏輯讀,單位是block

Logical Reads/Tx#>#0#
平均每個事務產生的邏輯讀,單位是block

Block Changes/Sec#>#100#
每秒block變化數量,資料庫事務帶來改變的塊數量

Block Changes/Tx#>#0#
平均每個事務所導致的改變的塊數

Physical Reads/Sec#>#100#
平均每秒資料庫從磁碟讀取的block數

Physical Reads/Tx#>#0#
平均每個事務從磁碟讀取的block數

Physical Write/Sec#>#50#
平均每秒寫磁碟的block數

Physical Write/Tx#>#0#
平均每個事務寫磁碟的block數

User Calls/Sec#>#0#
每秒使用者call次數

User Calls/Tx#>#0#
每事務使用者call次數

Parses/Sec#>#100#
每秒解析次數,近似反應了每秒語句的執行次數

Parses/Tx#>#0#
每事務產生的解析次數

Hard Parses/Sec#>#10#
每秒產生的硬解析次數

Hard Parses/Tx#>#0#
每事務產生的硬解析次數

Sorts/Sec#>#20#
每秒產生的排序次數

Sorts/Tx#>#5#每事務產生的排序次數

Transactions/Sec#>#0#
每秒產生的事務數

Rows/Sort#>#0#
每次排序所涉及到的行數

Percent of Block Changed/Read#>#0#發生變化的塊數/讀次數,變化的塊需要從回滾段來讀取資料

Recursive Call Percent#>#0#
遞迴操作佔所有操作的比率

Rollback/Tx Percent#>#5#
事務回滾率(回滾開銷很大)

Executes/Sec#>#0#
每秒執行次數

Execute/Tx#>#0#
每個事務執行次數

Logons/Sec --46: Logons/Tx
I/O Statistics(I/O統計資料) Table Space I/O#>#0#
表示各表空間在IO上的分佈,若出現嚴重不均衡,則要重新考慮物件的儲存規劃和資料檔案的磁碟規劃

Datafile I/O#>#0#
表示各資料檔案的IO分佈,若不均衡則需要重新考慮物件的儲存規劃

Table I/O(表I/O)#>#0#對這些IO很大的表,要考慮放置在高速磁碟上,並且儘可能的分佈在不同的磁碟上

TOP SQL Top SQL with High Buffer Gets#>#0#
這類sql進行了大量的block的讀,要檢查該sql是否用到了索引,或者說表上是否存在合理的索引,對於必須全表掃描的大表可以考慮recycle buffer ,對於頻繁進行全表掃描的小表可以考慮keep buffer,還有一種需要注意的情況就是如果透過索引獲取資料比例佔表資料比例過大,比如20%(舉例資料),就能導致buffer gets過大

Top SQL with High Physical Reads#>#0#這類sql導致了大量的從磁碟獲取資料,可能因為資料緩衝區太小,也可能是過多的全表掃描,需要考察索引是否合理,是否用到索引

Top SQL with High Execution Count#>#0#這類sql是需要重點關注的,也許這些sql本身一次執行並沒有消耗大量的時間或者空間,但由於頻繁的執行對系統影響極大,所以只要有最佳化的可能到要對這些sql進行最佳化。還有另外一些情況,就是某些程式中可能大量頻繁地使用dual表來獲取一些資訊(比如時間的計算等),儘可能的使這類sql轉化為應用本地能解決的函式,或者還存在一些由於設計上的缺陷導致不必要的查詢,都要在設計的角度避免這些查詢

Top SQL with High Shared Memory#>#0#
這類sql使用了大量的記憶體,不一定執行的頻繁,但是它可能把執行的頻繁的sql涉及的一些資料擠出緩衝區,這同樣將導致很多問題,所以也需要去儘可能的最佳化

Top SQL with High Version Count#>#20#
表示多個使用者的sql在字面上是一樣的,或者sql雖然一樣但是session的一些引數發生了改變(比如sort_area_size發生了變化)

Wait Events(等待事件) alter system set mts_dispatcher#>#0#
當會話決定執行"ALTER SYSTEM SET MTS_DISPATCHERS = "的時候等待DISPATCHERS的啟動

BFILE check if exists#>#0#
檢查外部的bfile檔案是否存在

BFILE check if open#>#0#
檢查外部的bfile檔案是否已經open

BFILE closure#>#0#等待關閉外部bfile檔案

BFILE get length#>#0#
獲得外部bfile檔案的大小

BFILE get name object#>#0#得到外部bfile檔案的名字

BFILE get path object#>#0#
得到外部bfile檔案的路徑

BFILE internal seek#>#0#

BFILE open#>#0#等待外部bfile被開啟

BFILE read#>#0#
等待外部bfile檔案讀取完畢

buffer busy due to global cache#>#0#

buffer busy waits#>#0#
block正被讀入緩衝區或者緩衝區正被其他session使用,出現此情況通常可能透過幾種方式調整:增大data buffer,增加freelist,減小pctused,增加回滾段數目,增大initrans,考慮使用LMT

buffer deadlock#>#0#
由於系統緩慢所產生而非應用產生了死鎖

buffer latch#>#0#
會話等待'buffer hash chain latch'

buffer read retry#>#0#
OPS下讀buffer的過程中內容發生了變化於是重新讀取

Cache simulator heap#>#0#

checkpoint completed#>#0#等待檢查點的完成,通常出現這個問題的原因是IO問題嚴重,可調整跟檢查點相關引數log_checkpoint_interval,log_checkpoint_timeout,db_block_max_dirty_target,fast_start_io_target 等,可間接的增大日誌檔案大小和增加日誌檔案組數

Contacting SCN

control file parallel write#>#0#
等待寫所有控制檔案的完成,可將控制檔案分散在不同的磁碟上

control file sequential read#>#0#
讀控制檔案,在

[@more@]

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

相關文章