AWR基本概念理解

Automatic Workload Repository (AWR) 收集、處理和維護用於問題診斷的性能統計信息。該數據既存在於數據塊中,也存在於內存中。AWR 收集的數據能夠經過報告和視圖進行查看。html


AWR 處理和收集的統計信息包括:數據庫


一、肯定數據塊 segment 訪問路徑和使用狀況的對象統計信息session


二、基於數據庫活動的時間使用狀況的時間模型統計信息,可在 V$SYS_TIME_MODEL 和 V$SESS_TIME_MODEL 視圖中查看oracle


三、V$SYSSTAT 和 V$SESSTAT 視圖中收集的一些 sytem 和 session 的統計信息ide


四、按照 elapsed time 和 CPU time 等條件在系統上篩選出的產生較高負載的 SQL 語句性能


五、ASH 統計信息——最近的 session 活動的歷史記錄測試





數據庫默認狀況下已啓用 AWR 收集統計信息,它 STATISTICS_LEVEL 初始化參數來控制。STATISTICS_LEVEL 參數必須設置爲 TYPICAL 或 ALL 才能啓用 AWR 統計信息收集。默認的設置爲 TYPICAL。將 STATISTICS_LEVEL 設置爲 BASIC 將禁用許多 Oracle Database 功能,包括 AWR,因此不推薦這麼設置。當 STATISTICS_LEVEL 設置爲 BASIC 時,仍然可使用 DBMS_WORKLOAD_REPOSITORY 包手動捕獲 AWR 統計信息。可是許多在內存中收集的系通通計信息,如 segment 統計信息和 memory advisor 信息都將被禁用,這種狀況下的手動快照捕獲的統計信息可能不是完整的。視頻


一、Snapshothtm


快照是 ADDM 用於性能比較的特定時期內的歷史數據集合。在 11g 中,Oracle Database 每小時會自動生成性能數據的快照,並將這些統計信息在工做負載信息庫中保留 8 天。您也能夠手動建立快照,其實不必這麼作。快照間隔內的統計信息由 Automatic Database Diagnostic Monitor (ADDM) 進行分析。對象


AWR 經過比較各個快照之間的差別,根據對系統負載的影響來肯定要捕獲的 SQL 語句,隨着時間的發展,必須捕獲的 SQL 語句將逐漸減小。




二、Baseline


Baseline 是指一個特定時間段內的性能數據,保留這些數據是爲了在性能問題產生時與其餘相似的工做負載時間段進行比較。Baseline 中包含的快照將從自動 AWR 清理進程中排除,並沒有限期的保留。


在 Oracle Database 中存在多種類型的 baseline;


Fixed Baseline:fixed baseline 表示的是您指定的一個固定的、連續的時間段。在建立 fixed baseline 以前,請認真考慮您選做 baseline 的時間段,由於該 baseline 應該表明系統處於良好的性能下運行。您能夠在未來將該 baseline 與在性能較差的時間段捕獲的其餘 baseline 或 snapshot 進行比較分析。


Moving Window Baseline:表示的是 AWR 保留期內存在的全部 AWR 數據。在使用自適應閾值時,它很是有用,由於數據庫可使用整個 AWR 保留期內的 AWR 數據來計算指標值。


Oracle Database 會自動維護系統定義的 moving window baseline。系統定義的 moving window baseline 的默認窗口大小就是當前的 AWR 保留期,即默認爲 8 天。若是您打算使用自適應閾值,請考慮使用更長的移動窗口——如30天,以便精確地計算閾值。您能夠從新調整 moving window baseline,將移動窗口的大小調整爲小於或等於 AWR 的保留天數。所以,要增長移動窗口的大小,必需要先增長相應的 AWR 保留期限。


Baseline Template:您可使用 baseline template 建立未來某個連續時間段的 baseline。Oracle 中有兩種 baseline 模板:single 和 repeating


利用 single baseline template,您能夠爲未來某個單獨的連續時間段建立 baseline。該技術在某些狀況下很是有用。例如,若是您想捕獲下週計劃的系統測試期間的 AWR 數據,您能夠建立一個 single baseline template 來自動捕獲測試發生的時間段的統計數據。


利用 repeating baseline template ,能夠根據重複的時間計劃建立和刪除 baseline。當您但願 Oracle Database 自動持續地捕獲連續時間段的統計數據時,這很是有用。例如,您可能須要在長達一個月內捕獲每週一早上的 AWR 數據。在這種狀況下,您能夠建立一個 repeating baseline template ,以在每週一自動建立 baseline,在指定的過時期限內自動刪除過期的 baseline


oracle視頻教程請關注:http://u.youku.com/user_video/id_UMzAzMjkxMjE2.html

相關文章
相關標籤/搜索