AWR的基本知识

简介: 自从Oracle 10g开始支持AWR以后,相比于Statspack,除了有更多新的内容可供参考,HTML保存格式也是为查看文档提供了很多便利。最近在看尼米克,尼大师的著作,从AWR这一章节开始看,虽然没看完,但看过的内容当中,精辟地说明了AWR使用上的一些常用方法,个人感觉非常实用,至少没有废话,所以在这里也汇总下,方便以后检索。

自从Oracle 10g开始支持AWR以后,相比于Statspack,除了有更多新的内容可供参考,HTML保存格式也是为查看文档提供了很多便利。


最近在看尼米克,尼大师的著作,从AWR这一章节开始看,虽然没看完,但看过的内容当中,精辟地说明了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执行。

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自动进程会自动清除这些快照。

目录
相关文章
|
存储 Oracle 关系型数据库
温故知新:ScaleIO Oracle性能测试解析
SLOB、ORION和FIO这些测试工具有何异同?
2156 0
|
Oracle 关系型数据库 数据库
|
Oracle 网络协议 关系型数据库
|
SQL Oracle 关系型数据库
《Oracle DBA工作笔记》第二章 常用工具和问题分析
《Oracle DBA工作笔记》第二章 常用工具和问题分析   一.1  BLOG文档结构图     一.2  本文简介 建荣的新书《Oracle DBA工作笔记》第二章的目录如下图,主要讲解了SQL*Plus、exp/imp、expdp/impdp以及常见的问题分析,第二章的目录如下:     下边小麦苗将自己阅读完第二章后整理的一些内容分享给大家。
1410 0
|
SQL Oracle 关系型数据库
《Oracle DBA工作笔记》第一章
《Oracle DBA工作笔记》第一章 BLOG文档结构图I 本文简介 建荣的新书《Oracle DBA工作笔记》拿到手了,下午离下班还有1个小时的时候有空了,就阅读了下新书的第一章内容,第一章的目录如下图,主要讲解了下数据库的安装和配置,阅读完第一章的内容还是收获不小的,于是按照小麦苗的读书习惯,趁热打铁将自己还不知道或者说还不太了解的内容整理一下,以免遗忘,好记性不如烂笔头。
1270 0
|
SQL Oracle 关系型数据库
Oracle性能优化-读懂执行计划
Oracle的执行计划 得到执行计划的方式 Autotrace例子 使用Explain explain plan set STATEMENT_ID='testplan' for select * from d...
1284 0
|
存储 Oracle 关系型数据库
AWR概述
整理自《OCA/OCP认证考试指南》 000 概述     Oracle收集大量有关性能和活动的统计信息。这些信息在内存中累积,并定期写入数据库:写入到构成自动工作负荷知识库(automatic workload repository,AWR)的表中。
1267 0