上月,我有機會在達拉斯Oracle使用者組聽到TUSC的Rich Niemiec談到Oracle的效能分析問題,其中他給我們的一條提示,我感覺非常有益,那就是Oracle 10g中仍需要STATSPACK。
關於Oracle 10g效能方面,談論最多的就是新的自動工作負載存放庫(AWR)特性和通過自動資料庫診斷監視(ADDM)提供的前瞻性效能監控。它們被廣泛的報道,說是對STATPACK的替代。也確實是這樣,據Niemiec先生所說,它們可以做更多的工作,代表Oracle效能分析的將來。
但是,他還說到不要忽視STATSPACK,不僅因為作為遺產它仍舊存在於Oracle 10g中,而且它還作了很多更新,包含了可以AWR中使用的大量新工具。為了完全使用AWR,你需要對診斷套件和分析包進行額外的註冊,但STATSPACk已包含在Oracle的價格中。
這裡是一些Niemiec先生提到的在Oracle 10g的STATSPACK新增的功能:
- 時間模型統計:Oracle的時間模型包含db_time,處理資料庫請求需要的時間和當會話等待某種資源時的各種等待時間。時間模型統計將db_time分解為它的各個組成部分,因此你可通過操作類型以看到Oracle花費的處理時間。
- 等待事件柱狀圖:取代記錄每種類型發生時有多少等待的全部計數器,柱狀圖繼續按照時間多少分解各種計數。你可以查看多少等待時間少於1ms,多少少於4ms,多少少於8md等待。如果你要檢測等待時間,這可能不是一個優先選擇的分析工具,但是它們都很簡捷。
- 讀取檔案柱狀圖:像等待事件柱狀圖一樣,它是按照讀取時需要的時間分解磁碟塊數計數,你可以更容易地查看哪些裝置的執行狀況不是很好。
- 作業系統統計:它顯示系統的CPU空閑時間與使用者時間的比值,活躍時間與空閑時間比值以及進出的位元組數。
- 撤銷統計:這是關於撤銷段效率的詳細測量方法。
雖然增加了一些新的選項,如設定運行指令碼時建立表格的最大容量等,但運行STATSPACK的過程沒有太大變化。