达梦数据库生成AWR报告
原创
©著作权归作者所有:来自51CTO博客作者认真学习数据库的原创作品,请联系作者获取转载授权,否则将追究法律责任
数据库快照是一个只读的静态的数据库。DM快照功能是基于数据库实现的,每个快照是基于数据库的只读镜像。通过检索快照,可以获取源数据库在快照创建时间点的相关数据信息。
为了方便管理自动工作集负载信息库AWR(Automatic Workload Repository)的信息,系统为其所有重要统计信息和负载信息执行一次快照,并将这些快照存储在AWR中。AWR功能默认是关闭的,如果需要开启,则调用DBMS_WORKLOAD_REPOSITORY.AWR_SET_INTERVAL过程设置快照的间隔时间。DBMS_WORKLOAD_REPOSITORY包还负责snapshot(快照)的管理。
注意:DM数据库在创建该包时,默认创建一个名为SYSAUX的表空间,对应的数据文件为SYSAWR.DBF,该表空间用于存储该包生成快照的数据。如果该包被删除,那么SYSAUX表空间也对应地被删除。
DM MPP环境下不支持DBMS_WORKLOAD_REPOSITORY包。
使用方法:
1、启用系统包和AWR包:
CALL SP_INIT_AWR_SYS(1);
CALL SP_CREATE_SYSTEM_PACKAGES(1);
2、查询AWR快照:
select * from SYS.WRM$_SNAPSHOT;
3、清理之前的所有快照记录
CALL DBMS_WORKLOAD_REPOSITORY.AWR_CLEAR_HISTORY();
4、设置快照间隔,如果不设置快照间隔,手动执行快照后SYS.WRM$_SNAPSHOT视图中没有记录:
CALL DBMS_WORKLOAD_REPOSITORY.AWR_SET_INTERVAL(60); #每60分钟生成一次快照
5、可在两个时间点分别手动创建快照,或者等待系统自动生成:
手动创建快照:CALL DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT();
6、查询AWR快照:
SELECT * FROM SYS.WRM$_SNAPSHOT;
7、创建AWR报告
SYS.AWR_REPORT_HTML(快照ID1,快照ID2,'AWR报告存放路径','AWR报告名称.HTLM');:
例如:SYS.AWR_REPORT_HTML(1,2,'/home/dmdba','AWR1.HTML');
8、AWR报告生成后关闭AWR包
例1 删除id在22~32之间的snapshot。
CALL DBMS_WORKLOAD_REPOSITORY.DROP_SNAPSHOT_RANGE(22,32);
例2 修改snapshot的间隔时间为30分钟、保留时间为1天。
CALL DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(1440,30);
查询设置后快照参数。
SELECT * FROM SYS.WRM$_WR_CONTROL;
例3 创建一次snapshot。
CALL DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT();
例4 清理全部snapshot。
CALL DBMS_WORKLOAD_REPOSITORY.AWR_CLEAR_HISTORY();
例5 设置snapshot的间隔为10分钟。
CALL DBMS_WORKLOAD_REPOSITORY.AWR_SET_INTERVAL(10);