生成awr报告,awr报告
主要参考文档:
http://343766868.blog.163.com/blog/static/48314056201110124513396/
概况
Oracle内部以一定的频率把系统关键的统计信息和负载情况存储起来,生成snapshot(快照),所有的snapshot存储在awr中,即automatic workload repository。
当发现数据库出现性能问题时,就可以抽取存储在awr中的snapshot信息,生成在指定时间段内(即你指定的snapshot所囊括的时间段)的awr报告。然后对报告进行分析,发现系统存在的问题。
首先说下快照的管理。
查看已生成快照列表信息
Select * from dba_hist_snapshot;
一般情况下,snapshot不需要手动管理,若有特殊需要,也可以进行手动生成和删除操作。
手动生成snapshot。
SQL>execdbms_workload_repository.create_snapshot();
手动删除snapshot。
SQL>exec dbms_workload_repository.dorp(low_snap_id=>1,high_snap_id=>2);
更改snapshot频率等参数。
数据库默认是每一个小时进行一次snapshot生成操作,每个snapshot保留7天。
可以通过以下语句查询数据库当前的快照生成配置信息。
select * from dba_hist_wr_control;
若需要更改次默认参数,也可以使用
SQL>exec dbms_workload_repository.modify_snapshot_settings(interval=>60
Retention=>3*24*60
);
其中:
retention参数及保留时间,单位是min(分钟)。若设置为0,则快照将永久保留。若设置为null,则保留原设置。此参数的范围为1天---100年。
Interval参数为生成snapshot频率。单位是min(分钟)。若设置为0,则表示禁用手动和自动生成快照的功能。若设置为null,则保留原设置。此参数的范围为10min---1年。
此外还有topnsql和dbid参数,topnsql表示要采集比较占资源的sql数量。
生成awr报告。
了解了快照之后,就可以利用snapshot生成awr报告。
自动生成是使用OEM中的查看awr相关项,手动生成时指执行oracle提供的执行脚本。
脚本位于$ORACLE_HOME/rdbms/admin/目录下,名字为awrrpt.sql。
SQL>@?/rdbms/admin/awrrpt.sql
即可。生成的路径为你进入sqlplus前的当前目录。所以若要把报告放在指定目录,可事先进入该目录,比如
Cd /tmp/awr/
然后在进入sqlplus,手动生成awr报告。
生成awr报告后,就剩下分析awr报告了,这是个比较大的问题,也是个比较难的问题,以后慢慢说。
AWR报告(的)产生技巧如下::
1,,登陆Oracle数据库::
sqlplus / as sysdba
2, 在sqlplus中,,以sys用户运行下面(的)命令,,生成第一份性能数据快照::
exec DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT (flush_level=>'ALL');
3,,运行您找到(的)所有或很多性能较差(的)应用或SQL,,让系统压力始终处于比较高(的)状态(如CPU或IO(的)使用),,并保持此状态达到半小时到1小时
4,,在sqlplus中,,以sys用户再次运行下面(的)命令,,生成第二份性能数据快照::
exec DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT (flush_level=>'ALL');
5,,在sqlplus中,,以sys用户运行下面(的)命令,,以产生性能报告::
@?/rdbms/admin/awrrpt.sql
根据提示,,选择上面生成(的)2个性能数据快照,,最后会生成一个最终(的)AWR性能报告..
1.生成单实例 AWR 报告:@$ORACLE_HOME/rdbms/admin/awrrpt.sql2.生成 Oracle RAC AWR 报告:@$ORACLE_HOME/rdbms/admin/awrgrpt.sql3.生成 RAC 环境中特定数据库实例的 AWR 报告:@$ORACLE_HOME/rdbms/admin/awrrpti.sql4.生成 Oracle RAC 环境中多个数据库实例的 AWR 报告的方法:@$ORACLE_HOME/rdbms/admin/awrgrpti.sql5.生成 SQL 语句的 AWR 报告:@$ORACLE_HOME/rdbms/admin/awrsqrpt.sql6.生成特定数据库实例上某个 SQL 语句的 AWR 报告:@$ORACLE_HOME/rdbms/admin/awrsqrpi.sql--生成 AWR 时段对比报告7.生成单实例 AWR 时段对比报告@$ORACLE_HOME/rdbms/admin/awrddrpt.sql8.生成 Oracle RAC AWR 时段对比报告@$ORACLE_HOME/rdbms/admin/awrgdrpt.sql9.生成特定数据库实例的 AWR 时段对比报告@$ORACLE_HOME/rdbms/admin/awrddrpi.sql10.生成 Oracle RAC 环境下特定(多个)数据库实例的 AWR 时段对比报告@$ORACLE_HOME/rdbms/admin/awrgdrpi.sql来源: 51cto 作者:Oracle小混子