Automatic Workload Repository 是 10g 引入的一個重要組件
存貯著近期一段時間內(nèi)數(shù)據(jù)庫活動狀態(tài)的詳細(xì)信息、信息保留默認(rèn)是7天
AWR 的前身是 Statspack、而 Statspack 是公開源代碼的
因此,關(guān)于Statspack的資料,還有Statspack的源代碼,都是理解AWR的一個有用的輔助

AWR 者、乃 sys 擁有、粒度為快照、存于 sysaux 表空間也
什么是快照?
快照是在特定時間捕獲并存儲在 AWR 中的一組性能統(tǒng)計信息
快照用于計算統(tǒng)計信息的更改率
如何標(biāo)識快照?
每個快照都用一個快照序列號 (snap_id) 進行標(biāo)識,該序列號在 AWR 中是唯一的
如何修改快照?
默認(rèn)情況下,快照每 60 分鐘生成一次
通過更改快照 INTERVAL 參數(shù)可以調(diào)整此頻率
但調(diào)整間隔設(shè)置可能會影響診斷精確度
例如,如果將 INTERVAL 設(shè)置為 4 小時,則可能會遺漏在 60 分鐘間隔內(nèi)出現(xiàn)的峰值
用 DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS 存儲過程或 Database Control 來更改控制快照收集的設(shè)置
在 Database Control 中:
“Administration”→“Statistics Management”→“Automatic Workload Repository”→“Edit”
怎樣創(chuàng)建快照?
使用 Database Control 或 DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT
支持手動獲取快照的同時,也支持系統(tǒng)生成的自動快照
如果希望在與自動計劃不一致的兩個特定時間點捕獲系統(tǒng)行為,則需要使用手動快照

什么是基線?
Baseline、簡言之、便是參照標(biāo)準(zhǔn)
一個快照集定義為一對快照、每條基線對應(yīng)于一對(且僅對應(yīng)于一對)快照
基線用于保留快照數(shù)據(jù)、因此、屬于基線的快照在刪除基線之前一直保留
如何標(biāo)識一條基線?
基線既可通過用戶提供的名稱進行標(biāo)識,也可用系統(tǒng)生成的標(biāo)識符進行區(qū)分
基線標(biāo)識符在數(shù)據(jù)庫的生命周期中是唯一的
怎樣創(chuàng)建一條基線?
使用 Database Control 或執(zhí)行 DBMS_WORKLOAD_REPOSITORY.CREATE_BASELINE
什么時候創(chuàng)建一條基線?
通常,在過去某些有代表性的時段中設(shè)置快照集,以用于與當(dāng)前系統(tǒng)行為進行比較
AWR 報告所有的數(shù)據(jù)來源于 AWR 視圖,即以 DBA_HIST_ 開頭的所有系統(tǒng)表
而如何有效地去分析 AWR 報告,這可能更需要 DBA 經(jīng)驗的日積月累