Oracle AWR报告生成方法

1,847 阅读2分钟

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

本文已参与「掘力星计划」,赢取创作大礼包,挑战创作激励金。

Oracle数据库是一个使用量很多的数据库,关于Oracle数据库的性能。Oracle10g以后,Oracle提供了一个性能检测的工具:AWR(Automatic Workload Repository 自动工作负载库)

AWR的原理

Oracle启动后,后台会有个进程去每小时采集一次系统的快照信息,信息采集来源为: V$active_Session_History视图。该视图可以展示最近活动会话的历史记录。并将采集到的信息保存8天。(查询SQL:select * from dba_hist_wr_control;),采样频率和保存时间可配置。

快照由MMONMMNL的进程自动地每隔固定时间采集一次。MMON进程负责执行多种和管理相关的后台任务,MMNL负责执行轻量级切高频率的管理相关的后台任务。

AWR报告

Oracle可以将8天的awr快照数据进行储存,我们可以将oracle中的任何两个时间点(输入日期后,会返回相应的时段内,快照对应的时间)生成该段时间内的awr报告。具体生成方式有多种,一般需要sys权限。

1 登录Oracle程序所在的服务器,查找出awrrpt.sql文件所在位置

D:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\awrrpt.sql

2 登录Oracle,以sysdba身份连接

Oracle

3 执行命令

@D:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\awrrpt.sql

Oracle

4 输入report_type报告类型,建议html

5 选择要生成的报告的日期是在多少天以前记录

输入1,则表示要生成今天0点开始到现在之内的某个时间段的报告,输入2,则表示满意生成昨天0点开始到现在的某个时间段的报告。以此类推。默认情况下,AWR会将镜像信息保留一个月,缺省记录最近7天

Oracle

6 输入要生成报告的时间开始点应的snap id以及结束点的snap id

输入天数后,界面会输出一个时间段的表格,每个时间点都对应一个snapId,间隔时间为oracle默认是1个小时,接下来,输入要生成报告的时间开始点应的snap id以及结束点的snap id

Oracle

Oracle

7 输入生成报告的名字

系统会自动生成一个输入的名字并会提示信息中显示出来。如果使用输入名称。则不用输入任何内容。直接回车即可(为方便查找,此处建议写绝对路径)

Oracle

8 使用浏览器打开生成的html报告即可

Oracle