自从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执行。
更多详情见请继续阅读下一页的精彩内容: