Oracle中自動工作負載資訊庫(AWR)介紹(2)

season0891發表於2009-07-20
迄今為止,我們看到了 AWR 所採集的內容,現在讓我們看看它將如何處理資料。

大多數效能問題並不是孤立存在的,而留有指示性的跡象,這些跡象將通向問題最終的根源。讓我們使用一個典型的調整實踐來說明這一點:您注意到系統很慢,於是決定檢視等待的原因。您檢查發現“緩衝區忙等待” 非常高。問題可能出在哪裡呢?有幾種可能:可能有一個單調增加的索引,可能一個表太滿了,以至於要求將單個資料塊非常快速地載入到記憶體中,或其它一些因素。無論在哪種情況下,您都首先要確定存在問題的段。如果它是一個索引段,那麼您可以決定重新構建它,把它修改為一個反向鍵索引,或把它轉換成一個在 Oracle Database 10g 中引進的雜湊分割槽索引。如果它是一個表,您可以考慮修改儲存引數來使它不那麼密集,或者利用自動段空間管理把它轉移到一個表空間中。

您的處理計劃一般是有規律的,並且通常基於您對各種事件的瞭解和您處理它們的經驗。現在設想相同的事情由一個引擎來完成,這個引擎採集量度並根據預先確定的邏輯來推出可能的計劃。您的工作不就變得更輕鬆了嗎?

現在在 Oracle Database 10g 中推出的這個引擎稱為自動資料庫診斷監控程式 (ADDM)。為了作出決策,ADDM 使用了由 AWR 採集的資料。在上面的討論中,ADDM 可以看到發生了緩衝區忙等待,然後取出相應的資料來檢視發生緩衝區忙等待的段,評估其特性和成分,最後為資料庫管理員提供解決方案。在 AWR 進行的每一次快照採集之後,呼叫 ADDM 來檢查量度並生成建議。因此,實際上您擁有了一個一天二十四小時工作的自動資料庫管理員,它主動地分析資料並生成建議,從而把您解放出來,使您能夠關注更具有戰略意義的問題。

要檢視 ADDM 建議和 AWR 資訊庫資料,請使用在名稱為 DB Home 的頁面上的新的 Enterprise Manager 10g 控制檯。要檢視 AWR 報表,您可以從管理轉至工作負載資訊庫,然後轉至 Snapshots 來檢視它們。在以後的部分中,我們將更詳細地討論 ADDM。

您還可以指定根據特定的情況來生成警報。這些警報稱為伺服器生成警報,它們被推送到高階佇列中,在其中它們可以被任意監聽它的客戶端使用。一個這樣的客戶端是 Enterprise Manager 10g,在其中警報被突出顯示。

時間模型

當您有效能問題時,要縮短響應時間您最先想到的是什麼?很明顯,您希望消除(或減少)增加時間的因素的根源。您如何知道時間花費在哪裡 — 不是等待,而是真正在進行工作?

Oracle Database 10g 引進了時間模型,以確定在各個地方花費的時間。花費的總的系統時間記錄在檢視 V$SYS_TIME_MODEL 中。下面是查詢和輸出結果。

  
  STAT_NAME                   VALUE
  -------------------------------------     --------------
  DB time                    58211645
  DB CPU                    54500000
  background cpu time              254490000
  sequence load elapsed time          0
  parse time elapsed              1867816
  hard parse elapsed time            1758922
  sql execute elapsed time           57632352
  connection management call elapsed time    288819
  failed parse elapsed time           50794
  hard parse (sharing criteria) elapsed time  220345
  hard parse (bind mismatch) elapsed time    5040
  PL/SQL execution elapsed time         197792
  inbound PL/SQL rpc elapsed time        0
  PL/SQL compilation elapsed time    

 

 

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

相關文章