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
第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下方法相同)