Statspack分析報告詳解(1)

jss001發表於2009-02-21
調整STATSPACK 的收集門限
Statspack 有兩種型別的收集選項:
級別(level):控制收集資料的型別
門限(threshold):設定收集的資料的閾值。
1.級別(level)
Statspack 共有三種快照級別,預設值是5
a.level 0: 一般效能統計。包括等待事件、系統事件、系統統計、回滾段統計、行快取、SGA、會話、
鎖、緩衝池統計等等。
b.level 5: 增加SQL 語句。除了包括level0 的所有內容,還包括SQL 語句的收集,收集結果記錄在
stats$sql_summary 中。
c.level 10: 增加子鎖存統計。包括level5 的所有內容。並且還會將附加的子鎖存存入
stats$lathc_children 中。在使用這個級別時需要慎重,建議在Oracle support 的指導下進行。
可以透過statspack 包修改預設的級別設定
SQL>execute statspack.snap(i_snap_level=>0,i_modify_parameter=>’true’);
透過這樣的設定,以後的收集級別都將是0 級。
如果你只是想本次改變收集級別,可以忽略i_modify_parameter 引數。
SQL>execute statspack.snap(i_snap_level=>10);
2.快照門限
快照門限只應用於stats$sql_summary 表中獲取的SQL 語句。
因為每一個快照都會收集很多資料,每一行都代表獲取快照時資料庫中的一個SQL 語句,所以
stats$sql_summary 很快就會成為Statspack 中最大的表。
門限儲存在stats$statspack_parameter 表中。讓我們了結一下各種門限:
a. executions_th 這是SQL 語句執行的數量(預設值是100)
b. disk_reads_tn 這是SQL 語句執行的磁碟讀入數量(預設值是1000)
c. parse_calls_th 這是SQL 語句執行的解析呼叫的數量(預設值是1000)
d. buffer_gets_th 這是SQL 語句執行的緩衝區獲取的數量(預設值是10000)
任何一個門限值超過以上引數就會產生一條記錄。
透過呼叫statspack.modify_statspack_parameter 函式我們可以改變門限的預設值。
例如:
SQL>execute statspack.modify_statspack_parameter(i_buffer_gets_th=>100000,i_disk_reads_th=>100000;
[@more@]

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

相關文章