达梦数据库的awr报告需要配置DBMS_WORKLOAD_REPOSITORY工具包,功能在使用上与oracle的awr的类似,下面介绍具体使用方法。
如何配置开启awr报告?
开启awr报告
在使用 DBMS_WORKLOAD_REPOSITORY 包之前,需要提前调用系统过程并设置间隔时间:
SP_INIT_AWR_SYS(1);

开启包后,需要设置awr报告的间隔时间,默认为60分钟(有效范围为 [10, 525600])
CALL DBMS_WORKLOAD_REPOSITORY.AWR_SET_INTERVAL(10);

设置成功后,可以使用 CREATE_SNAPSHOT 手动创建快照,也可以等待设置的间隔时间后系统自动创建快照,快照 id 从 1 开始递增:
--手动创建快照
DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT();

查看快照信息
查看创建的快照信息,包括快照 id:
SELECT * FROM SYS.WRM$_SNAPSHOT;

查看/输出html格式的awr报告
至少有2个以上的快照信息,我们才能输出awr报告,输出方式有两种,一种是提取awr报告的内容另存为html格式,另一种是直接输出为html文件,区别仅在方法不同:
方法一:提取快照内容另存html
查看 snapshot 的 id 在 1~2 范围内的 AWR 分析报告的带 html 格式的内容。然后复制到文本文件中,保存成 html 格式即可查看。不推荐此方式,可能受编码等各种情况影响,导致最终输出的html表达欠佳。
SELECT * FROM TABLE (DBMS_WORKLOAD_REPOSITORY.AWR_REPORT_HTML(1,2));




方法二:通过awr_reort_html方法直接输出html(推荐)
把 snapshot 的 id 在 1~2 范围内的 AWR 分析报告生成到d 盘 awr1.html 文件。
SYS.AWR_REPORT_HTML(1,2,'D:\','AWR2.HTML');


删除快照
通过 DMBS_WORKLOAD_REPOSITORY 包还可以对快照本身做增删改操作。(删除快照后快照id会继续编号生成,如果重新开启快照,则从1开始)。需要注意快照一定要定期清理,不然快照空间会一直开销表空间。
1、先查看当前快照信息

--2、删除 id 在 1~4 之间(含自己)的 snapshot。
CALL DBMS_WORKLOAD_REPOSITORY.DROP_SNAPSHOT_RANGE(1,4);

3、删除后查看,4条记录均已删除

修改快照
修改 snapshot 的间隔时间为 30 分钟、保留时间为 1 天。
CALL DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(1440,30);

查询设置后快照参数。
SELECT * FROM SYS.WRM$_WR_CONTROL;

手动创建快照
创建一次 snapshot。
CALL DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT();
清理快照
清理全部 snapshot。
CALL DBMS_WORKLOAD_REPOSITORY.AWR_CLEAR_HISTORY();
特别注意
开启awr报告后会自动创建SYSAUX的表空间,快照配置后该空间会增加,需要注意实例空间的开销情况,一般建议配置保留一定时间的快照即可。
关于DBMS_WORKLOAD_REPOSITORY包方法的使用,参考达梦在线手册:https://eco.dameng.com/document/dm/zh-cn/pm/dbms_workload-package.html
原创文章,作者:lzb,如若转载,请注明出处:https://www.wlkjzx.com/2023/08/28/%e8%be%be%e6%a2%a6%e6%95%b0%e6%8d%ae%e5%ba%93awr%e6%8a%a5%e5%91%8a%e9%85%8d%e7%bd%ae%e6%96%b9%e6%b3%95/