首页 > 代码库 > oracle AWR报告

oracle AWR报告

AWR( Automatic Workload Repository )报告是对oracle的性能评定以及发现问题SQL语句的重要手段。

    AWR报告的原理是基于oracle数据库的定时镜像功能。默认情况下,Oracle数据库后台进程会以一定间隔(一小时)收集系统当前状态镜像,并且保存在数据库中。生成AWR报告时,只需要指定进行分析的时间段(开始镜像编号和结束镜像编号),就可以生成该时间段的性能分析情况。AWR镜像保存在数据库中的时间为一个月左右。
 
    也可以手工生成一个快照:
     SQL>dbms_workload_repository.create_snapshot();
 
    手动生成AWR的步骤如下:
    1、登录oracle数据库
    2、进入你想要生成报告的目录 
       cd /test
    3、进入数据库
       sqlplus / as sysdba
    4、执行生成语句
       sql> @?/rdbms/admin/awrrpt.sql
    5、输入报告的格式
       sql> html 或 text
    6、输入AWR快照的查看天数(回车返回所有快照)
       sql> 10
    7、输入起始、结束的snap_id,这里需要注意的是,输入的起始和结束snap_id必须在一个组里(直观的来说就是在2个空行之间),否则会直接报错。
       sql> 17
       sql> 18
     8、输入报告的名称(回车试用默认名)
 
另外还有报告ash和addm
 
awr 与ash的最主要的区别在于:awr是平面的,全面的,ash是立体的,更侧重于session的event跟踪,由于业务量大的数据库的event wait是瞬息万变,awr很可能会监控不到,为了弥补这个不足,ash才可以对session的event进行跟踪。
ash与addm的区别在于:addm偶重于基于对当据库当前状态的分析,对存在的问题提供指导性的意见,可以说ash,addm是awr的补充,awr全面地收集数据库的状态,但ash/addm是侧重要对收集的数据进行分析,并提供一些有益的建议。 
 

                 sql> @?/dbms/admin/addmrpt.sql

 

一.生成AWR报告

 

[ractest@sun880-1 /u01/app/oracle/orahome/rdbms/admin]$ cd $ORACLE_HOME/rdbms/admin
[ractest@sun880-1 /u01/app/oracle/orahome/rdbms/admin]$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.4.0 - Production on Sun Jan 27 20:47:38 2008
Copyright (c) 1982, 2007, Oracle. All Rights Reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options
SQL> @awrrpt
......
//根据Oracle提示生成报告......

 

 注:报告生成在$ORACLE_HOME/rdbms/admin/目录下。

 

二.修改awr的默认设置

 

//半小时采集一次,采集信息保存3天。
SQL>exec dbms_workload_repository.modify_snapshot_settings (interval=>30,retention =>3*24*60);

 

三.关闭AWR自动收集

 

SQL>exec dbms_workload_repository.modify_snapshot_settings (interval=>0,retention =>24*60);

:10g默认是自动开启awr信息收集的,会对系统有一定的影响(很小);如果要关闭awr信息收集,只需设置interval参数为0即可。但interval设0后,AWR报告无法生成。

 

实验环境:

 

操作系统:win7 旗舰版 64bit

 

数据库:Oracle 11G R2 64bit

 

 

 

1步:登陆sqlplus

 

C:\Users\Administrator>sqlplus / as sysdba

 

 

 

2步:跑脚本

 

SQL> @D:\soft\oracle\product\11.2.0\dbhome_1\RDBMS\ADMIN\awrrpt.sql

 

技术分享

 

3步:设置报告采集条件

 

设置生成几天前的记录,如果设置1,则从今天00:00开始,如果设置为2,则从昨天00:00开始,缺省值为7,下面使用缺省值,回车到下一步。

 

技术分享

 

设置快照的起始id,如下:

 

技术分享

 

特别说明,对于AWR的命名可以自行命名,如下采用缺省值,直接点击回车。

 

技术分享

 

如下图,AWR报告生成成功。

 

技术分享

 

到指定路径下(一般生成的报告会默认存储在系统用户目录下)找到AWR报告即可查看了。

 

 

至此,关于生成AWR报告介绍完毕(Linux下方法相同)

oracle AWR报告