欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

生成awr报告

程序员文章站 2022-05-26 08:50:36
...

主要参考文档: http://343766868.blog.163.com/blog/static/48314056201110124513396/ 概况 Oracle内部以一定的频率把系统关键的统计信息和负载情况存储起来,生成snapshot(快照),所有的snapshot存储在awr中,即automatic workload repository。 当发现

主要参考文档:

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报告了,这是个比较大的问题,也是个比较难的问题,以后慢慢说。