达梦数据库的AWR报告
数据库快照是一个只读的静态的数据库。 DM 快照功能是基于数据库实现的,每个快照是基于数据库的只读镜像。通过检索快照,可以获取源数据库在快照创建时间点的相关数据信息。
为了方便管理自动工作集负载信息库 AWR(Automatic Workload Repository)的信息,系统为其所有重要统计信息和负载信息执行一次快照,并将这些快照存储在 AWR 中。
用户在使用 DBMS_WORKLOAD_REPOSITORY 包之前,需要提前调用系统过程SP_INIT_AWR_SYS(1)创建包。 DM 数据库在创建该包时,默认创建一个名为 SYSAUX 的表空间,对应的数据文件为 SYSAWR.DBF,该表空间用于存储该包生成快照的数据。如果该包被删除,那么 SYSAUX 表空间也对应地被删除。
AWR 功能默认是关闭的,如果需要开启,则调用DBMS_WORKLOAD_REPOSITORY.AWR_SET_INTERVAL 过程设置快照的间隔时间。DBMS_WORKLOAD_REPOSITORY 包还负责 snapshot(快照)的管理。
若创建数据库时页大小选择为 4K,不支持 DBMS_WORKLOAD_REPOSITORY 包的相关方法; DM MPP 环境下不支持 DBMS_WORKLOAD_REPOSITORY 包。
基础信息
OS版本:
Red Hat Enterprise Linux Server release 7.9 (Maipo)
DB版本:
DM Database Server 64 V8
DB Version: 0x7000c
03134284132-20240115-215128-20081
1 初始化AWR系统包
[dmdba@test ~]$ disql sysdba/Dameng123
服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 6.951(ms)
disql V8
--初始化前是查不到相关的视图的
SQL> select * from SYS.WRM$_SNAPSHOT;
select * from SYS.WRM$_SNAPSHOT;
第1 行附近出现错误[-2106]:无效的表或视图名[WRM$_SNAPSHOT].
已用时间: 0.506(毫秒). 执行号:0.
SQL> select * from SYS.WRM$_WR_CONTROL;
select * from SYS.WRM$_WR_CONTROL;
第1 行附近出现错误[-2106]:无效的表或视图名[WRM$_WR_CONTROL].
已用时间: 0.290(毫秒). 执行号:0.
SQL>
--执行初始化
SQL> CALL SP_INIT_AWR_SYS(1);
DMSQL 过程已成功完成
已用时间: 00:00:01.130. 执行号:501.
--初始化后可以查到相关视图
SQL> select * from SYS.WRM$_SNAPSHOT;
未选定行
已用时间: 0.892(毫秒). 执行号:502.
SQL> select * from SYS.WRM$_WR_CONTROL;
行号 DBID SNAP_INTERVAL RETENTION TOPNSQL STATUS_FLAG
---------- ----------- ---------------------------------------- ---------------------------------------- ----------- -----------
1 NULL INTERVAL '0 1:0:0.0' DAY(5) TO SECOND(1) INTERVAL '8 0:0:0.0' DAY(5) TO SECOND(1) 30 0
已用时间: 5.729(毫秒). 执行号:503.
SQL>
2 设定快照间隔(示例15分钟)
SQL> CALL DBMS_WORKLOAD_REPOSITORY.AWR_SET_INTERVAL(15);
DMSQL 过程已成功完成
已用时间: 291.854(毫秒). 执行号:504.
SQL> select * from SYS.WRM$_WR_CONTROL;
行号 DBID SNAP_INTERVAL RETENTION TOPNSQL STATUS_FLAG
---------- ----------- ----------------------------------------- ---------------------------------------- ----------- -----------
1 NULL INTERVAL '0 0:15:0.0' DAY(5) TO SECOND(1) INTERVAL '8 0:0:0.0' DAY(5) TO SECOND(1) 30 1
已用时间: 0.481(毫秒). 执行号:505.
3 手动生成快照
--系统将自动每15分钟生成1个快照,也可以在开始和结束分别手动创建一次快照,如下:
SQL> CALL DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT();
DMSQL 过程已成功完成
已用时间: 829.720(毫秒). 执行号:506.
4 查看已生成的快照信息
SQL> select SNAP_ID,DBID,INSTANCE_NUMBER,STARTUP_TIME,BEGIN_INTERVAL_TIME,END_INTERVAL_TIME,STATUS from SYS.WRM$_SNAPSHOT;
行号 SNAP_ID DBID INSTANCE_NUMBER STARTUP_TIME BEGIN_INTERVAL_TIME END_INTERVAL_TIME STATUS
---------- ----------- ----------- --------------- -------------------------- -------------------------- -------------------------- -----------
1 1 NULL 1 2024-04-18 21:45:07.000000 2024-04-19 13:00:11.023479 2024-04-19 13:00:11.554221 NULL
2 2 NULL 1 2024-04-18 21:45:07.000000 2024-04-19 13:02:36.208054 2024-04-19 13:02:36.677842 NULL
3 3 NULL 1 2024-04-18 21:45:07.000000 2024-04-19 13:03:26.371637 2024-04-19 13:03:26.858661 NULL
4 4 NULL 1 2024-04-18 21:45:07.000000 2024-04-19 13:03:29.244492 2024-04-19 13:03:29.732759 NULL
已用时间: 0.624(毫秒). 执行号:511.
5 生成AWR报告
--这里示例生成2号和4号快照之间的性能报告
SQL> CALL SYS.AWR_REPORT_HTML(2,4,'/home/dmdba','AWR_2_4.HTML');
DMSQL 过程已成功完成
已用时间: 184.535(毫秒). 执行号:512.
--在/home/dmdba目录下已生成awr报告
[dmdba@test ~]$ pwd
/home/dmdba
[dmdba@test ~]$ ll
total 224
-rw-r--r-- 1 dmdba dinstall 229361 Apr 18 22:06 AWR_2_4.HTML
6 查看AWR报告内容
内容和oracle的awr报告相似,这里不做进一步分析,有兴趣的同学可以自己生成一份awr报告。
7 相关视图
SYS.WRM$_WR_CONTROL 记录快照的相关控制信息。
SYS.WRM$_SNAPSHOT 记录快照的相关信息。
SYS.WRH$_RESOURCE_LIMIT 显示所有快照中表、用户的空间限制信息。
更多详细内容请查看官方文档《DM8系统包使用手册》
谨记:心存敬畏,行有所止。