Automatic Workload Repository 概念詳解
Automatic Workload Repository (AWR) 收集、處理和維護用於問題診斷的效能統計資訊。該資料既存在於資料區塊中,也存在於記憶體中。AWR 收集的資料可以通過報告和視圖進行查看。
AWR 處理和收集的統計資訊包括:
1.確定資料區塊 segment 訪問路徑和使用方式的對象統計資訊
2.基於資料庫活動的時間使用方式的時間模型統計資訊,可在 V$SYS_TIME_MODEL 和 V$SESS_TIME_MODEL 視圖中查看
3.V$SYSSTAT 和 V$SESSTAT 視圖中收集的一些 sytem 和 session 的統計資訊
4.按照 elapsed time 和 CPU time 等條件在系統上篩選出的產生較高負載的 SQL 陳述式
5.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 資訊都將被禁用,這種情況下的手動快照捕獲的統計資訊可能不是完整的。
1 Snapshot
快照是 ADDM 用於效能比較的特定時期內的曆史資料集合。在 11g 中,Oracle Database 每小時會自動產生效能資料的快照,並將這些統計資訊在工作負載資訊庫中保留 8 天。您也可以手動建立快照,其實沒必要這麼做。快照間隔內的統計資訊由 Automatic Database Diagnostic Monitor (ADDM) 進行分析。
AWR 通過比較各個快照之間的差異,根據對系統負載的影響來確定要捕獲的 SQL 陳述式,隨著時間的發展,必須捕獲的 SQL 陳述式將逐漸減少。
2 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。
轉載請註明作者出處及原文連結:
http://blog.csdn.net/xiangsir/article/details/8648615