背景:AWR全称Automatic Workload Repository,自动负载信息库,通过对比两次快照(snapshot)收集到的统计信息,来生成报表数据,生成的报表包括多个部分。通过AWR报告,可以分析指定的时间段内数据库系统的性能。
1、启用系统包和AWR包:
call SP_INIT_AWR_SYS(1);
call SP_CREATE_SYSTEM_PACKAGES(1);
2、查询AWR快照:
SELECT * FROM SYS.WRM$_SNAPSHOT;
3、设置快照间隔,如果不设置快照间隔,手动执行快照后SYS.WRM$_SNAPSHOT视图中没有记录:
CALL DBMS_WORKLOAD_REPOSITORY.AWR_SET_INTERVAL(50);
4、在两个时间点分别手动创建快照,或者等待系统自动生成:
10:54创建第一快照:
call DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT();
查询快照
30分钟后再创建一个
call DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT();
5、查询AWR快照:
SELECT * FROM SYS.WRM$_SNAPSHOT;
6、创建AWR报告,SYS.AWR_REPORT_HTML(快照ID1,快照ID2,‘AWR报告存放路径’,‘AWR报告名称.HTLM’);:
SYS.AWR_REPORT_HTML(1,2,‘D:’,‘AWR1.HTML’)
7、查看AWR报告
翻译后
8、问题解决
发现报告后面没有数据;
查看ENABLE_MONITOR参数是否开启
select para_value from v$dm_ini wherepara_name=‘ENABLE_MONITOR’;
开启监控参数
sp_set_para_value(1,‘ENABLE_MONITOR’,1);
重新设置两个快照
导出AWR报告
已经能够查看到数据了
更多更详细的内容可以到达梦技术社区:https://eco.dameng.com学习