自動工作量資料檔案庫(AWR)
《Oracle大型資料庫系統在AIX/UNIX上的實戰詳解》集中討論20, 還是繼續大大大大前天的話題——自動工作量資料檔案庫(AWR),
自動工作量資料檔案庫(AWR)是在Oracle10gR2後續版本中新增的一項具有工程意義的功能項,該功能著力於問題的自我發現並自我調整。AWR來可以收集、處理、並儲存效能統計結果,這種統計資料存放在記憶體中並隨後儲存在資料庫中,這些資料既能在報告中顯示也可以通過檢視查詢。
AWR收集和處理的統計資料包括:
- 物件統計,用於確定資料庫段(表、索引…)的訪問情況
- 基於時間的統計:資料庫活動統計,這些統計引數通過V$SYS_TIME_MODEL和V_SESS_TIME_MODEL 查詢;
- 系統統計:基於系統和會話的統計,這些統計資料可以通過V$SYSSTAT和V$SESSTAT 查詢。
- SQL統計:系統中造成高的負載的SQL,這些SQL使用了長的執行時間和CPU時間;
- 啟用會話歷史(ASH)統計:啟用會話資訊的歷史記錄,記錄了最近的會話活動歷史
AWR將每小時自動抓取一次效能統計資料,並將抓取的效能快照記錄在工作載荷記錄的代理表中。如果你對Oracle9i較為熟悉,AWR快照和9i中Statspack快照基本類似。和Statspack類似,AWR快照也可以人工創,只是通常不必要這樣做。快照抓取後,抓取的結果將由自動資料庫診斷監視器( ADDM )分析。
在AWR抓取SQL資訊時,AWR將比較以前抓取的SQL語句對效能的影響,並據此有目的的捕捉SQL語句,因此這樣的做法減少了需要捕捉的SQL語句。
自動工作量資料檔案庫(AWR)快照將儲存在資料庫中,這需要儲存空間,其儲存空間佔用取決於下面的幾個因素:
- 當前連線Oralce的啟用會話的數目,數目越多,則AWR資訊越多;
- AWR快照抓取間隔,預設一小時抓取一次。抓取頻率增加,則儲存空間佔用越多。
- 歷史資料的保持期限。顯然,保留時間越長,空間佔用越多。
預設的快照捕捉間隔為每小時一次,記錄在資料庫中儲存7天。調整自動工作量資料檔案庫(AWR) 的快照間隔和保持時期,則其空間佔用將降低。但當減少保持期時,Oracle10g中相關的幾個Oracle自我管理的特性可能會受影響,例如自動資料庫診斷監視器(ADDM)、SQL調節顧問、重做顧問、段顧問等。
為了統計結果儘可能客觀、儘可能反映真正的業務載荷分佈情況,我們最好將AWR保持期延伸到業務系統執行的一個完整週期。例如,如果業務系統的作業特點是週一到週五作業務,週六、日進行報表操作,則7天是你完整的一個工作週期。同理,你的工作週期可能是一個月,一個季度。由於儲存介質的造價在目前的資料庫系統環境中已經算是很小的一部分,因此,AWR統計的儲存代價並不很高,以儲存至少一個業務週期為宜。
當設定快照捕獲間隔為0時,AWR的自動收集功能關閉,同時,其他的自動管理功能將同時喪失。因此,不是特殊情況,AWR功能要保留。
Oracle10g中一種特殊的AWR快照統計資料稱之為“基線”。稱之為特殊的原因是這些AWR快照將長期儲存,並作為本系統執行狀態的“規範”狀態。當系統出現問題時,這些基線將作為效能基準資料。
Oracle10g中STATISTICS_LEVEL 初始化引數必須設定為TYPICAL或ALL,這樣AWR將自動抓取快照。如果該引數設定為BASIC,則我們只能手工抓取行效能快照。手工抓取方法是呼叫 DBMS_WORKLOAD_REPOSITORY 包。但是這樣抓出來的統計資料並不全面,因為當STATISTICS_LEVEL 引數值為BASIC時,許多統計資料將不再收集,例如段物件使用統計。顯然地,手工抓取統計資料不是一個好的選擇。
與傳統上的Oracle相比,關於物件的優化器統計仍是一樣,仍然是自動獲取,預設情況下不必人為介入管理,該工作作為維護視窗的一種預定的工作由DBMS_STATS.GATHER_DATABASE_STATS_JOB_PROC 過程執行。
未完,待續,
參見:Oracle聯機文件中“效能”部分
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22363020/viewspace-625883/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 資料庫系統檔案啟動資料庫資料庫
- oracle資料庫移動資料檔案、日誌檔案和控制檔案Oracle資料庫
- 【AWR】Oracle資料庫建立awr基線Oracle資料庫
- 建立資料庫檔案-日誌檔案-次要資料庫檔案資料庫
- Oracle自動新增資料檔案過程Oracle
- 在ORACLE移動資料庫檔案Oracle資料庫
- 自動負載資訊庫:AWR的引入負載
- Laravel 資料庫及專案檔案自動備份指北 (spatie/Laravel-backup)Laravel資料庫
- 教你自動恢復MySQL資料庫的日誌檔案(binlog)MySql資料庫
- awr 自動mailAI
- 在ORACLE中移動資料庫檔案Oracle資料庫
- 資料庫檔案和檔案組資料庫
- DG備庫手動管理 新增資料檔案
- Oracle資料庫新增和移動控制檔案Oracle資料庫
- 移動資料庫物理檔案 Move Physical Files資料庫
- 在ORACLE中移動資料庫檔案(轉)Oracle資料庫
- MySql資料庫——檔案MySql資料庫
- 【AWR】資料庫診斷工具AWR使用全程記錄資料庫
- 資料庫自動重連資料庫
- 資料庫自動備份資料庫
- 啟動資料庫報某個資料檔案不存在資料庫
- 自動更新資料庫資料的shell資料庫
- 半自動化運維之動態新增資料檔案(一)運維
- 半自動化運維之動態新增資料檔案(二)運維
- 資料庫自動啟動關閉資料庫
- Oracle DG備庫手動管理新增資料檔案Oracle
- dataguard之邏輯備庫移動資料檔案
- 在ORACLE中移動資料庫檔案在(轉)Oracle資料庫
- 織夢資料庫配置檔案-DedeCMS織夢資料庫檔案在哪裡資料庫
- 通過資料庫檔案還原資料庫資料庫
- awr自動收集指令碼指令碼
- Oracle10g AWR (自動工作負載資訊庫)Oracle負載
- Oracle中自動工作負載資訊庫(AWR)介紹Oracle負載
- rename備庫資料檔案
- 資料庫啟動時丟失資料檔案模擬實驗資料庫
- Mysql資料庫自動備份MySql資料庫
- 自動備份Oracle資料庫Oracle資料庫
- 【AWR】自動生成AWR報告指令碼以及用法指令碼