您好,登錄后才能下訂單哦!
自從Oracle 10g開始支持AWR以后,相比于Statspack,除了有更多新的內容可供參考,HTML保存格式也是為查看文檔提供了很多便利。
AWR 基礎結構由兩個主要部分組成:
1、 一個內存中統計信息收集工具,Oracle Database 11g組件使用它來收集統計信息。出于性能方面的考慮,這些統計信息存儲在內存中。可以通過動態性能(V$) 視圖訪問存儲在內存中的統計信息。
2、代表該工具持久部分的AWR 快照。AWR 快照可以通過數據字典視圖和EnterpriseManager Database Control 來訪問。
它為內部Oracle 服務器組件提供服務來收集、處理、維護和使用性能統計信息,以便進行問題檢測和自優化。
AWR 中包含數百個表,所有這些表均屬于SYSMAN方案且存儲在SYSAUX表空間中。
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執行。
11、禁用和啟動作業的方法:
exec dbms_scheduler.disable('GATHER_STATS_JOB');
exec dbms_scheduler.enable('GATHER_STATS_JOB');
12、可以使用如下腳本運行AWR快照:
$ORACLE_HOME/rdbms/admin/awrrpt.sql或awrrpti.sql。
13、AWR內創建基線,定義為某個范圍內的快照,可以用來與其它快照進行比較。
創建基線:
exec dbms_workload_repository.create_baseline (start_snap_id=>1109, end_snap_id=>1111, baseline_name=>'EOM Baseline');
查看基線:
select baseline_id, baseline_name, start_snap_id, end_snap_id from dba_hist_baseline;
刪除基線:
exec dbms_workload_repository.drop_baseline(baseline_name=>'EOM Baseline', Cascade=>FALSE);
參數Cascade如果設置為true,就會刪除所有相關的快照,此處會刪除1109和1111這兩個相關的快照。否則AWR自動進程會自動清除這些快照
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。