小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
本文已参与「掘力星计划」,赢取创作大礼包,挑战创作激励金。
Oracle数据库是一个使用量很多的数据库,关于Oracle数据库的性能。Oracle10g以后,Oracle提供了一个性能检测的工具:
AWR(Automatic Workload Repository 自动工作负载库)
AWR的原理
Oracle启动后,后台会有个进程去每小时采集一次系统的快照信息,信息采集来源为: V$active_Session_History
视图。该视图可以展示最近活动会话的历史记录。并将采集到的信息保存8天。(查询SQL:select * from dba_hist_wr_control;
),采样频率和保存时间可配置。
快照由MMON
和MMNL
的进程自动地每隔固定时间采集一次。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身份连接
3 执行命令
@D:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\awrrpt.sql
4 输入report_type报告类型,建议html
5 选择要生成的报告的日期是在多少天以前记录
输入1,则表示要生成今天0点开始到现在之内的某个时间段的报告,输入2,则表示满意生成昨天0点开始到现在的某个时间段的报告。以此类推。默认情况下,AWR会将镜像信息保留一个月,缺省记录最近7天
6 输入要生成报告的时间开始点应的snap id以及结束点的snap id
输入天数后,界面会输出一个时间段的表格,每个时间点都对应一个snapId,间隔时间为oracle默认是1个小时,接下来,输入要生成报告的时间开始点应的snap id以及结束点的snap id
7 输入生成报告的名字
系统会自动生成一个输入的名字并会提示信息中显示出来。如果使用输入名称。则不用输入任何内容。直接回车即可(为方便查找,此处建议写绝对路径)
8 使用浏览器打开生成的html报告即可