1.简介
自动工作负载信息库 (Automatic Workload Repository)即 AWR 实质上是一个 Oracle 的内置工具。采集与性能相关的统计数据,并从这些统计数据中导出性能量度,以跟踪潜在的问题。

AWR 使用几个表来存储采集的统计数据,所有的表都存储在新的名称为 SYSAUX 的特定表空间中的 SYS 模式下,并且以 WRM$_* 和 WRH$_* 的格式命名。前一种类型存储元数据信息(如检查的数据库和采集的快照),后一种类型保存实际采集的统计数据。 H 代表“历史数据 (historical)”而 M 代表“元数据 (metadata)”。在这些表上构建了几种带前缀BA_HIST_ 的视图,这些视图可以用来编写您自己的性能诊断工具。视图的名称直接与表相关;例如,视图 DBA_HIST_SYSMETRIC_SUMMARY 是在 WRH$_SYSMETRIC_SUMMARY 表上构建的。
1.1.STATISTICS_LEVEL
在默认情况下, Oracle 启用数据库统计收集这项功能(即启用 AWR)。是否启用 AWR 由初始化参数 STATISTICS_LEVEL 控制。
STATISTICS_LEVEL 参数有三个值:

如果 STATISTICS_LEVEL 的值为 TYPICAL 或者 ALL,表示启用 AWR。
如果 STATISTICS_LEVEL 的值为 BASIC,表示禁用 AWR。
可以通过 SHOW PARAMETER STATISTICS_LEVEL 查看当前数据库配置

1.2.快照
快照由后台进程 MMON 自动地每小时采集一次。为了节省空间,采集的数据在 8 天后自动清除。快照频率和保留时间都可以由用户修改。
当前数据库的快照的详细信息可以查看表 SYS.WRH$_ACTIVE_SESSION_HISTORY,或者视图DBA_HIST_SNAPSHOT
2.使用方法
2.1.调用
用 sys 用户登录数据库之后调用脚本:

执行该脚本之后,会依次出现下列参数供用户设置
1. report_type : 报告的文件类型为 txt 或者 html
2. num_days: 报告涉及的天数,设置之后会自动显示这几天内的所有 snapshot
3. begin_snap:报告的起始快照
4. end_snap:报告的终了快照
5. report_name:报告的名称,设置该参数是可以加上文件路径,方便查找。例如:‘D:awr_report.html’
实际操作情况如下:






也可以通过程序包 DBMS_WORKLOAD_REPOSITORY 生成 AWR 的 html 报告

结果如下:

2.2.异常处理
如果在导出 awr 时包以下错误:
ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小
ORA-06512: 在 "SYS.DBMS_WORKLOAD_REPOSITORY
本文介绍了Oracle自动工作负载信息库(AWR),它是内置工具,采集性能统计数据。AWR由STATISTICS_LEVEL参数控制,快照每小时自动采集,8天后自动清除。还说明了AWR报告的调用方法,可设置报告类型、天数等参数,同时提及导出报告时字符串缓冲区太小的异常处理。
8058

被折叠的 条评论
为什么被折叠?



