为了方便管理自动工作集负载信息库AWR(AutomaticWorkloadRepository)的信息,系统为其所有重要统计信息和负载信息执行一次快照,并将这些快照存储在AWR中。AWR功能默认是关闭的,如果需要开启,则调用DBMS_WORKLOAD_REPOSITORY.AWR_SET_INTERVAL过程设置快照的间隔时间。
DM数据库在创建该包时,默认创建一个名为SYSAUX的表空间,对应的数据文件为SYSAWR.DBF,该表空间用于存储该包生成快照的数据。如果该包被删除,那么SYSAUX表空间也对应地被删除。
1. 示例数据库版本
SQL> select id_code;
行号 ID_CODE
---------- ---------------------------------
1 1-2-84-21.10.21-149328-10032-ENT
已用时间: 0.252(毫秒). 执行号:709.
2. 检查是否启用AWR
SQL> SELECT SF_CHECK_AWR_SYS;
行号 SF_CHECK_AWR_SYS
---------- ----------------
1 0
已用时间: 0.885(毫秒). 执行号:701.
说明:0:未启用;1:已启用
3. 初始化AWR系统包
SQL> SP_INIT_AWR_SYS(1);
DMSQL 过程已成功完成
已用时间: 718.527(毫秒). 执行号:702.
4. 设置时间间隔(10分钟)
SQL> CALL DBMS_WORKLOAD_REPOSITORY.AWR_SET_INTERVAL(10);
DMSQL 过程已成功完成
已用时间: 27.305(毫秒). 执行号:703.
说明:单位是分钟,默认值是60,取值区间10~525600
5. 手动收集AWR报告
SQL> DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT();
DMSQL 过程已成功完成
已用时间: 96.382(毫秒). 执行号:704.
SQL> DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT();
DMSQL 过程已成功完成
已用时间: 88.695(毫秒). 执行号:705.
SQL> DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT();
DMSQL 过程已成功完成
已用时间: 75.207(毫秒). 执行号:706.
6. 检查AWR报告信息
SQL> SELECT * FROM SYS.WRM$_SNAPSHOT;
行号 SNAP_ID DBID INSTANCE_NUMBER STARTUP_TIME BEGIN_INTERVAL_TIME END_INTERVAL_TIME
---------- ----------- ----------- --------------- -------------------------- ------------------- --------------------------
SNAP_LEVEL
-----------
1 1 NULL 1 2022-05-24 12:47:48.000000 NULL 2022-05-24 12:55:27.000000
1
2 2 NULL 1 2022-05-24 12:47:48.000000 NULL 2022-05-24 12:55:33.000000
1
3 3 NULL 1 2022-05-24 12:47:48.000000 NULL 2022-05-24 12:55:39.000000
1
已用时间: 0.841(毫秒). 执行号:707.
7. 生成AWR报告 --这里示例生成2号和3号快照之间的性能报告(注意这里的路径是服务器路径,而非本地路径)
SQL> CALL SYS.AWR_REPORT_HTML(2,3,'/dm8/dmdbms','AWR.HTML');
DMSQL 过程已成功完成
已用时间: 183.242(毫秒). 执行号:708.
[dmdba@dmdb01 dmdbms]$ pwd
/dm8/dmdbms
[dmdba@dmdb01 dmdbms]$ ls -l AWR.HTML
-rw-r--r-- 1 dmdba dinstall 200934 May 24 12:58 AWR.HTML
--测试客户端使用管理工具manager保存AWR报告至客户端上报错:
8. 修改 snapshot 的间隔时间为 60 分钟、保留时间为 1 天。
SQL> CALL DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(1440,60);
DMSQL 过程已成功完成
已用时间: 12.016(毫秒). 执行号:710.
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 '1 0:0:0.0' DAY(5) TO SECOND(1) 30 1
已用时间: 1.062(毫秒). 执行号:711.
SQL>
9. 使用完毕后,关闭AWR系统包
SQL> SP_INIT_AWR_SYS(0);
DMSQL 过程已成功完成
已用时间: 598.266(毫秒). 执行号:712.
10. AWR.HTML报告示例
达梦技术社区:https://eco.dameng.com