AWR的基本知識
自從Oracle 10g開始支援AWR以後,相比於Statspack,除了有更多新的內容可供參考,HTML儲存格式也是為查看文檔提供了很多便利。
最近在看尼米克,尼大師的著作,從AWR這一章節開始看,雖然沒看完,但看過的內容當中,精闢地說明了AWR使用上的一些常用方法,個人感覺非常實用,至少沒有廢話,所以在這裡也匯總下,方便以後檢索。
Oracle AWR報告產生與查看
在CentOS 6.4下安裝Oracle 11gR2(x64)
Oracle 11gR2 在VMWare虛擬機器中安裝步驟
Debian 下 安裝 Oracle 11g XE R2
Oracle AWR報告產生步驟
1、AWR全稱是Automatic Workload Repository,內容基於AWR資料庫中儲存的資料,前提是已經購買了相應許可。
2、AWR預設60分鐘採集一次統計資料,儲存一周,然後刪除。統計資料儲存在資料庫中。
3、為了正確收集統計資料,STATISTICS_LEVEL設定為TYPICAL(預設)或ALL。
4、AWR由許多表組成,這些表屬於SYS模式,通常儲存在SYSAUX資料表空間。所有AWR表名都以標識符“WR”開始:中繼資料(WRM$)、曆史/可變資料(WRH$、WRR$和WRI$)和和顧問(advisor)功能相關的AWR表(WRI$)。可以對AWR倉庫進行查詢的DBA視圖,以DBA_HIST開頭。
5、可以使用DBMS_WORKLOAD_REPOSITORY程式包修改快照收集間隔時間。
exec dbms_workload_repository.modify_snapshot_settings -
(retention=>20160, interval=>15);
使用dbms_workload_repository包的modify_snapshot_settings過程修改快照收集參數,即修改15分鐘收集一次,保留時間20160分鐘(14天)。
將間隔時間設定為0,則表示停止所有統計資料的收集(此處我認為翻譯的有歧義,應該是停止AWR快照的收集,不是統計資料的收集)。
6、查看AWR當前保留時間和時間間隔設定:
select * from dba_hist_wr_control;
7、建立或刪除快照:
exec dbms_workload_repository.create_snapshot;
exec dbms_workload_repository.drop_snapshot_range(low_snap_id=>1107, high_snap_id=>1108);
8、查看所有快照:
select snap_id, begin_interval_time, end_interval_time from dba_hist_snapshot order by 1;
9、11g使用名為GATHER_STATS_JOB的調度作業收集AWR統計資訊。建立Oracle資料庫時,就會自動建立並啟用這項作業。
10、查看作業,可參考視圖:
select a.job_name, a.enabled, c.window_name, c.repeat_interval
from dba_scheduler_jobs a, dba_scheduler_wingroup_members b, dba_scheduler_windows c
where job_name='GATHER_STATS_JOB'
and a.schedule_name=b.window_group_name
and b.window_name=c.window_name;
JOB_NAME ENABL WINDOW_NAME REPEAT_INTERVAL
------------------------------------------------------------------------------------------------------------------------------------
GATHER_STATS_JOB TRUE WEEKEND_WINDOW freq=daily;byday=SAT;byhour=0;byminute=0;bysecond=0
GATHER_STATS_JOB TRUE WEEKNIGHT_WINDOW freq=daily;byday=MON,TUE,WED,THU,FRI;byhour=22;byminute=0; bysecond=0
表示有兩個視窗執行統計資訊收集的作業。WEEKEND_WINDOW是每周六00:00執行。WEEKNIGHT_WINDOW是每周一至周五22:00執行。
更多詳情見請繼續閱讀下一頁的精彩內容: