oracle10g以后,oracle提供了一个性能检测的工具:awr(automatic workload repository 自动工作负载库)这个工具可以自动采集oracle运行中的负载信息,并生成与性能相关的统计数据。我们可以根据这些统计数据来分析一些潜在的问题。
1.awr的原理
oracle启动后,后台会有个进程去每小时采集一次系统的快照信息,信息采集来源为: v$active_session_history视图。该视图可以展示最近活动会话的历史记录。并将采集到的信息保存8天。(查询sql:select * from dba_hist_wr_control;)采样频率和保存时间可配置。
快照由mmon和mmnl的进程自动地每隔固定时间采集一次。mmon进程负责执行多种和管理相关的后台任务,mmnl负责执行轻量级切高频率的管理相关的后台任务。
2.awr报告
oracle 可以将8天的awr快照数据进行储存,我们可以将oracle中的任何两个时间点(输入日期后,会返回相应的时段内,快照对应的时间)生成该段时间内的awr报告。具体生成方式有多种,一般需要sys权限
3.报告生成流程
首先登陆sys用户下
sqlplus / as sysdba
然后,再新弹出的窗口中输入
@?/rdbms/admin/awrrpt.sql
按照提示,输入导出脚本的类型(html还是text),输入html
确定要几天的快照,输入具体数字
通过输入两个快照id生成两个快照点之间的报告信息,如果两个快照之间有空格,服务器可能出现了重启,不能选择包括空格的时间段会报错
然后命名导出报告,默认生成在root路径下