什么是oracle awr

awr是指“自動工作量資料檔案庫”,是oracle數據庫用于收集、管理和維護數據庫整個運行期間和性能相關統計數據的存儲倉庫,是Oracle數據庫性能調整和優化的基礎。awr收集到的數據會被定期保存到磁盤,可以從數據字典查詢以及生成性能報告。

什么是oracle awr

本教程操作環境:Windows7系統、Oracle 11g版、Dell G3電腦。

在對Oracle數據庫做性能優化和調整的時候,整個數據庫在運行期間的現狀或者說真實狀態只有在被完整記錄下來,才是可查,可知,可比較,可推測或者說為未來優化調整提供支撐建議的基礎。那在Oracle數據庫中這個機制是由AWR來實現的。

AWR是Oracle數據庫用于收集,管理和維護數據庫整個運行期間和性能相關統計數據的存儲倉庫,是Oracle數據庫性能調整和優化的基礎。

1. 什么是AWR

AWR是Automatic Workload Repository的簡稱,中文叫著自動工作量資料檔案庫。既然是倉庫,又是保存負載數據,所以保存的是數據庫性能相關的數據。即特定數據庫或者實例在過去運行期間整個性能表現。AWR能實現性能數據的收集,處理,維護,以及給出調整參考等。這些收集到的數據被定期保存到磁盤,可以從數據字典查詢以及生成性能報告等。

2. AWR統計信息收集處理的內容

??用于確定數據庫段的訪問和使用的對象統計信息

??基于活動時間模型的統計,位于v$sys_time_model和v$sess_time_model視圖

??系統和會話級別統計信息收集,位于v$sesstat和v$systat視圖

??基于耗用時間和CPU時間等高負載的sql語句

??ASH統計信息,代表了最近的活動會話的歷史

3. AWR涉及的2個重要參數

  • statistics_level

??BASIC:

????僅提供最基本的性能數據收集功能,許多性能基線所需的統計數據未被收集。Oracle不建議使用該值。

??TYPICAL:

????這是默認值。段統計,時間統計,以及所有建議類統計數據被收集。

??ALL:

????收集所有typical級別數據、操作系統時間統計和行源執行統計信息等。多用于調試模式,生產環境不建議使用。

  • timed_statistics

????指定時間相關的統計信息是否收集。當statistics_level為TYPICAL 或者ALL時,該值被設置為true,否則,設置為false。建議檢查該參數,并設置為true。

4.快照和基線

  • 快照

??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或者直接指定時間),為其創建基線,用于后續進行AWR報告比對輸出結果。

????移動窗口基線(Moving Window Baseline)

??????Oracle 數據庫自動維護系統定義的移動窗口基線。系統定義的移動窗口基線的默認窗口大小為當前的 AWR 保留期,默認為八天。如果計劃使用自適應閾值,則可考慮使用更大的移動窗口(如 30 天),以便準確計算閾值。可通過將該移動窗口中的天數更改為等于或小于 AWR 保留期中的天數,來重新調整移動窗口基線的大小。因此,如果要增大移動窗口,首先需要相應增大 AWR 保留期。AWR 保留期和系統定義的移動窗口基線的窗口大小為兩個獨立的參數。AWR 保留期必須大于或等于系統定義的移動窗口基線的窗口大小。
系統定義的基線為 OEM 性能屏幕提供了默認的基線,以便將其性能與當前數據庫性能比較。
注:在 Oracle database 11g 中,快照數據的默認保留期已從七天更改為八天,以確保捕獲整個星期的性能數據。

????基線模板(Baseline Templates)

??????可以使用基線模板為將來的時間段創建基線。有兩種類型的基線模板:單一和重復。
可以使用單個基線模板為將來的單個連續時間段創建基線。如果你事先知道你打算在將來捕獲的某個時間段,這種方法是有用的。例如,你可能想要捕獲AWR數據的系統測試,預計在即將到來的周末。在這種情況下,可以創建一個單獨的基線模板以自動捕獲測試發生時的時間段。

??????可以使用重復基線模板創建和刪除基于重復時間計劃的基線。這是有用的,如果你希望Oracle數據庫自動捕獲一個連續的時間段為其創建基線。例如,你可能想要捕獲AWR數據為一個月每星期一上午。在這種情況下,您可以創建一個重復基線模板,以便在每個星期一的重復日程中自動創建基線,并在指定的到期時間間隔(如1個月)后自動刪除舊的基線。

  • 自適應閾值(Adaptive Thresholds)

??自適應閾值可以幫你以最低的開銷監控和檢測出性能問題。自適應閾值能夠從在移動窗口基線捕獲到的度量值里得到的統計信息中,為系統度量自動設置警告和關鍵報警(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

  • 空間消耗(Space Consumption)

??以下因素可以被用來判斷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的自動收集。

5. AWR結構圖

什么是oracle awr

推薦教程:《Oracle教程

以上就是什么是

? 版權聲明
THE END
喜歡就支持一下吧
點贊8 分享