awr是指“自動工作量資料檔案庫”,是Oracle資料庫用於收集、管理和維護資料庫整個運作期間和效能相關統計資料的儲存倉庫,是Oracle資料庫效能調整和最佳化的基礎。 awr收集到的資料會定期儲存到磁碟,可以從資料字典查詢以及產生效能報告。
本教學操作環境:Windows7系統、Oracle 11g版、Dell G3電腦。
在對Oracle資料庫做效能最佳化和調整的時候,整個資料庫在運行期間的現狀或者說真實狀態只有在被完整記錄下來,才是可查,可知,可比較,可推測或為未來優化調整提供支撐建議的基礎。那在Oracle資料庫中這個機制是由AWR來實現的。
AWR是Oracle資料庫用於收集,管理和維護資料庫整個運作期間和效能相關統計資料的儲存倉庫,是Oracle資料庫效能調整和最佳化的基礎。
AWR是Automatic Workload Repository的簡稱,中文叫著自動工作資料檔案庫。既然是倉庫,又是保存負載數據,所以保存的是資料庫效能相關的數據。即特定資料庫或實例在過去運行期間整個效能表現。 AWR能實現性能數據的收集,處理,維護,以及給予調整參考等。這些收集到的資料被定期保存到磁碟,可以從資料字典查詢以及產生效能報告等。
用於確定資料庫段的存取和使用的物件統計資訊
基於活動時間模型的統計,位於v$sys_time_model和v$sess_time_model視圖
系統和會話層級統計資訊收集,位於v$sesstat和v$systat視圖
基於耗用時間和CPU時間等高負載的sql語句
ASH統計訊息,代表了最近的活動會話的歷史
BASIC:
# 僅提供最基本的效能資料收集功能,許多效能基準所需的統計資料未被收集。 Oracle不建議使用該值。
TYPICAL:
這是預設值。段統計,時間統計,以及所有建議類統計資料被收集。
ALL:
收集所有typical等級資料、作業系統時間統計和行源執行統計資料等。多用於調試模式,生產環境不建議使用。
指定時間相關的統計資料是否收集。當statistics_level為TYPICAL 或ALL時,該值被設為true,否則,設為false。建議檢查該參數,並設定為true。
# AWR快照就是將收集到的效能資料以一定的頻率持久化到磁碟。這個持久化的作用主要是用於後續進行分析或比對,同時這些性能數據也提供給ADDM進行性能診斷並輸出診斷結果。即:AWR每小時對v$active_session_history進行採樣一次,並將資訊儲存到磁碟中,並且保留8天(11g缺省值),8天後舊的記錄才會被覆寫。這些採樣資訊被保存在視圖wrh$_active_session_history中。而這個取樣頻率(1小時)和保留時間(8天)可以根據實際情況進行調整。
有數據,能比對,才能夠真正反映問題的實質。那麼在Oracle資料庫裡邊,我們可以將其業務負載高峰期的活動會話歷史數據,更確切的說是AWR持久化的數據貼個標籤,這個標籤就是所謂的基線。因此基線就是某個特定時段業務高峰期資料庫整體效能的基準報告,一旦當後續資料庫出現效能問題或運作不佳的時候,透過使用基線,與效能問題期間的效能統計資料進行比對,得出兩者的差異報告,有助於問題的定位與解決。
由於基準依賴AWR快照,因此,當我們設定基準之後,相應的AWR快照資料被保留。為了避免磁碟空間的佔用,我們對於基準也可以設定相應的保留期,一旦保留期限到達,意味著基線失效,以及相應的AWR快照資料也會自動刪除。基於基線保留策略,基線有幾種不同的形式,如下:
固定基線(Fixed Baselines)
固定基線也就是選擇特定的時間週期(可以按照snap_id或直接指定時間snap_id或直接指定時間),為其建立基線,用於後續進行AWR報告比對輸出結果。
移動視窗基線(Moving Window Baseline)
Oracle 資料庫自動維護系統定義的移動視窗基線。系統定義的移動視窗基線的預設視窗大小為目前的 AWR 保留期,預設為八天。如果計劃使用自適應閾值,則可考慮使用更大的移動視窗(如 30 天),以便準確計算閾值。可將該移動視窗中的天數變更為等於或小於 AWR 保留期中的天數,來重新調整移動視窗基線的大小。因此,如果要增加移動窗口,首先需要相應增大 AWR 保留期。 AWR 保留期和系統定義的移動視窗基線的視窗大小為兩個獨立的參數。 AWR 保留期必須大於或等於系統定義的移動視窗基線的視窗大小。
系統定義的基線為 OEM 效能畫面提供了預設的基線,以便將其效能與目前資料庫效能比較。
注意:在 Oracle Database 11g 中,快照資料的預設保留期已從七天更改為八天,以確保捕獲整個星期的效能資料。
基準範本(Baseline Templates)
可以使用基準範本為未來的時間段建立基準。有兩種類型的基線模板:單一和重複。
可以使用單一基準模板為將來的單一連續時間段建立基準。如果你事先知道你打算在將來捕獲的某個時間段,這種方法是有用的。例如,你可能想要捕獲AWR數據的系統測試,預計在即將到來的周末。在這種情況下,可以建立一個單獨的基準模板以自動擷取測試發生時的時間段。
可以使用重複基準範本建立和刪除基於重複時間計畫的基準。這是有用的,如果你希望Oracle資料庫自動捕獲一個連續的時間段為其建立基線。例如,你可能想要捕獲AWR資料為一個月每星期一上午。在這種情況下,您可以建立重複基線模板,以便在每個星期一的重複日程中自動建立基線,並在指定的到期時間間隔(如1個月)後自動刪除舊的基線。
# 自適應閾值可以幫你以最低的開銷監控和偵測出效能問題。自適應閾值能夠從在移動視窗基線捕獲到的度量值裡得到的統計資訊中,為系統度量自動設定警告和關鍵警報(warning and critical alert)的閾值。這些統計資訊每週會重新生成,並可能由於系統效能隨著時間變化而改變,而產生新的閾值。
例如,很多資料庫白天是一個OLTP系統,而到晚上需要執行一些批次進程(例如產生報表)。每個交易回應時間的效能測量對偵測OLTP的效能退化問題在白天可能很有用,但是這個閾值常常對於批次工作來說會太低,而頻繁觸發警報。自適應閾值能偵測到這樣的工作量模式,並自動為白天和夜裡設定不同的閾值。
自適應閾值的類型有兩種:
最大值的百分比:該閾值被計算為在移動視窗基線中觀察到的資料的最大值的百分比的倍數。
重要性等級:閾值被設為一個統計學中的百分位來觀察基於移動視窗基線資料的閾值以上的值,來體現異常程度。百分位能指定為以下幾種:高(0.95),100個中只有5個能超過這個值;非常高(0.99):100個中只有1個能超過這個值;嚴重的(0.999):1000個鐘只有1個能超過這個值;極端的(0.9999):10000個鐘只有1個能超過這個值。
當一個系統以高峰期工作量來設計的,並且你希望在當前工作量接近或超過先前的高值時觸發警報,最大值百分比閾值將非常有用。例如,每秒產生redo量的量測就是一個典型的例子。
重要性等級閾值在以下情況很有用:當系統運作正常時表現得很穩定,但當效能變差時可能會在一個大範圍內波動。例如,每個事務的回應時間的測量在一個最佳化的OLTP系統上將表現平穩,但當效能問題凸顯時,可能會波動很大。採用重要性等級閾值,當環境產生不正常的度量值和系統效能時觸發警報。
Author : Leshami
Blog : http://blog.csdn.net/leshami
以下因素可以用來判斷AWR的空間消耗:
在任一給定時間系統中的活動會話數;
# 時間間隔,時間間隔越小,快照產生越
# 時間間隔,時間間隔越小,快照產生越#頻繁,增加AWR採集的資料的佔用空間;
### 歷史資料保留時間###預設情況下,快照每小時捕獲一次,並在資料庫中保存8天。使用這些預設設置,一個典型的並發量為10個會話數的系統大約需要200-300M的空間來存放AWR資料。但在降低保留時間的時間,請注意,若AWR中的資料不足,可能會影響一些元件和功能的準確性和精確度:ADDM、SQL Tuning Advisor、Undo Advisor、Segment Advisor。
可能的話,Oracle建議將AWR保留時間設得足夠大,至少能捕捉一個完整的工作量週期。當你的系統工作量週期為1週,例如工作日是OLTP的工作負荷,而在週末運行批量工作,則預設的8天保留時間不需要去修改。當如果你的系統的高峰期在每個月的月末,那麼你可能需要將這個保留時間更改到1個月。
例外情況下,你可以將快照時間間隔改成0來關閉自動收集快照。在這種情況下,工作量和統計資料的自動收集將被停止,且許多Oracle資料庫的自動管理功能將無法使用。另外,你不能手動建立快照,因此Oracle強烈建議不要關閉snapshot的自動收集。
#推薦教學:《Oracle教學》
以上是什麼是oracle awr的詳細內容。更多資訊請關注PHP中文網其他相關文章!