Automatic Workload Repository 是 10g 引入的一個(gè)重要組件
存貯著近期一段時(shí)間內(nèi)數(shù)據(jù)庫(kù)活動(dòng)狀態(tài)的詳細(xì)信息、信息保留默認(rèn)是7天
AWR 的前身是 Statspack、而 Statspack 是公開(kāi)源代碼的
因此,關(guān)于Statspack的資料,還有Statspack的源代碼,都是理解AWR的一個(gè)有用的輔助
AWR 者、乃 sys 擁有、粒度為快照、存于 sysaux 表空間也
什么是快照?
快照是在特定時(shí)間捕獲并存儲(chǔ)在 AWR 中的一組性能統(tǒng)計(jì)信息
快照用于計(jì)算統(tǒng)計(jì)信息的更改率
如何標(biāo)識(shí)快照?
每個(gè)快照都用一個(gè)快照序列號(hào) (snap_id) 進(jìn)行標(biāo)識(shí),該序列號(hào)在 AWR 中是唯一的
如何修改快照?
默認(rèn)情況下,快照每 60 分鐘生成一次
通過(guò)更改快照 INTERVAL 參數(shù)可以調(diào)整此頻率
但調(diào)整間隔設(shè)置可能會(huì)影響診斷精確度
例如,如果將 INTERVAL 設(shè)置為 4 小時(shí),則可能會(huì)遺漏在 60 分鐘間隔內(nèi)出現(xiàn)的峰值
用 DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS 存儲(chǔ)過(guò)程或 Database Control 來(lái)更改控制快照收集的設(shè)置
在 Database Control 中:
“Administration”→“Statistics Management”→“Automatic Workload Repository”→“Edit”
怎樣創(chuàng)建快照?
使用 Database Control 或 DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT
支持手動(dòng)獲取快照的同時(shí),也支持系統(tǒng)生成的自動(dòng)快照
如果希望在與自動(dòng)計(jì)劃不一致的兩個(gè)特定時(shí)間點(diǎn)捕獲系統(tǒng)行為,則需要使用手動(dòng)快照
什么是基線?
Baseline、簡(jiǎn)言之、便是參照標(biāo)準(zhǔn)
一個(gè)快照集定義為一對(duì)快照、每條基線對(duì)應(yīng)于一對(duì)(且僅對(duì)應(yīng)于一對(duì))快照
基線用于保留快照數(shù)據(jù)、因此、屬于基線的快照在刪除基線之前一直保留
如何標(biāo)識(shí)一條基線?
基線既可通過(guò)用戶(hù)提供的名稱(chēng)進(jìn)行標(biāo)識(shí),也可用系統(tǒng)生成的標(biāo)識(shí)符進(jìn)行區(qū)分
基線標(biāo)識(shí)符在數(shù)據(jù)庫(kù)的生命周期中是唯一的
怎樣創(chuàng)建一條基線?
使用 Database Control 或執(zhí)行 DBMS_WORKLOAD_REPOSITORY.CREATE_BASELINE
什么時(shí)候創(chuàng)建一條基線?
通常,在過(guò)去某些有代表性的時(shí)段中設(shè)置快照集,以用于與當(dāng)前系統(tǒng)行為進(jìn)行比較
AWR 報(bào)告所有的數(shù)據(jù)來(lái)源于 AWR 視圖,即以 DBA_HIST_ 開(kāi)頭的所有系統(tǒng)表
而如何有效地去分析 AWR 報(bào)告,這可能更需要 DBA 經(jīng)驗(yàn)的日積月累