暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

达梦数据库AWR报告日常管理方法

我们之前已经介绍了如何在达梦数据库环境下配置并生成达梦数据库的AWR报告,本次我们就来一起研究达梦数据库AWR报告的日常管理方法。

1、清理AWR快照,达梦数据库清理AWR快照有两种方法,一种是用AWR_CLEAR_HISTORY清理之前的所有快照,一种是用DROP_SNAPSHOT_RANGE方法,清理指定快照区间内的快照。

例1:清理快照id为50-60(包含快照号为50和60的快照)之间的快照:

SQL> DBMS_WORKLOAD_REPOSITORY.DROP_SNAPSHOT_RANGE(50,60);

DMSQL 过程已成功完成

已用时间: 714.670(毫秒). 执行号:47.

SQL>


例2:清理所有的历史快照信息

SQL> DBMS_WORKLOAD_REPOSITORY.AWR_CLEAR_HISTORY;

DMSQL 过程已成功完成

已用时间: 44.872(毫秒). 执行号:53.

SQL> select count(*) from sys.wrm$_snapshot;

 

行号       COUNT(*)

---------- --------------------

1          0

 

已用时间: 0.709(毫秒). 执行号:54.

SQL>


当然,清理所有历史快照信息,也可以使用DROP_SNAPSHOT_RANGE方法,范围为最小快照id到最大快照id之前的快照,快照id可以通过查询sys.wrm$_snapshot表获得。

2、修改快照配置信息,包括修改快照生成的时间间隔、快照保留时间等

例1:先确认当前数据库环境的快照保存信息(查询WRM$_WR_CONTROL表),然后再修改快照生成的时间间隔。

SQL> select * from sys.wrm$_wr_control;

 

行号       DBID        SNAP_INTERVAL

---------- ----------- -----------------------------------------

           RETENTION                                TOPNSQL     STATUS_FLAG

           ---------------------------------------- ----------- -----------

1          NULL        INTERVAL '0 0:10:0.0' DAY(5) TO SECOND(1)

           INTERVAL '5 0:0:0.0' DAY(5) TO SECOND(1) 30          1

 

已用时间: 0.494(毫秒). 执行号:56.

SQL>


可以看到当前数据库环境的快照生成间隔为10分钟,保留时间为5天。现在修改快照生成间隔为1小时,保留7天。

SQL> DBMS_WORKLOAD_REPOSITORY.MODIFY_SNAPSHOT_SETTINGS(10080,60);

DMSQL 过程已成功完成

已用时间: 9.724(毫秒). 执行号:58.

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 '7 0:0:0.0' DAY(5) TO SECOND(1) 30          1

 

 

已用时间: 0.662(毫秒). 执行号:59.

SQL>


如果单独修改快照生成的时间间隔,还可以调用AWR_INTERVAL方法。

例如设置快照生成时间间隔为30分钟

SQL> DBMS_WORKLOAD_REPOSITORY.AWR_SET_INTERVAL(30);

DMSQL 过程已成功完成

已用时间: 4.343(毫秒). 执行号:64.

SQL>


注意:快照保留的时间周期范围为1天到100年,如果设置值为0,则为永久保留,调用MODIFY_SNAPSHOT_SETTINGS方法更改保留天数时,必须换算天数*1440,就是单位为分钟,系统默认为8天。快照生成的时间间隔范围为10分钟到1年,默认为60分钟,如果设置为0,则表示关闭快照。

3、创建快照,创建快照有两种方法,一种是系统按照设定的快照属性自动生成,一种是手动生成,手动生成快照使用CREATE_SNAPSHOT方法,

SQL> set serveroutput on

SQL> dbms_output.put_line(DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT('ALL'));

7

 

DMSQL 过程已成功完成

已用时间: 268.692(毫秒). 执行号:70.

SQL>


我在这里调用了dbms_output打印出了CREATE_SNAPSHOT的返回值,这个方法调用返回值为生成的快照ID,传入的参数为FLUSH_LEVEL,值为ALL或者TYPICAL,默认为TYPICAL,ALL表示全部历史快照数据在创建快照是全部保存,而TYPICAL则只会保存部分数据。

4、生成快照报告文件,达梦数据库生成快照报告有2种格式,分别为HTML格式和TEXT格式,每种格式有两种生成报告的方法,分别为 AWR_REPORT_HTML方法(FUNCTION)和SYS.AWR_REPORT_HTML方法(PROCEDURE),这两个对象的名字虽然一样,但是是有区别的,AWR_REPORT_HTML方法(FUNCTION)是DBMS_WORKLOAD_REPOSITORY包下的函数对象,而SYS.AWR_REPORT_HTML方法(PROCEDURE)是SYS模式下的存储过程对象,要区分开来使用。

例1:生成HTML格式的awr报告,保存在C:\dmdbms下,文件名为dm_awr_html.html

SQL> SYS.AWR_REPORT_HTML(6,7,'C:\dmdbms','dm_awr_html.html');

DMSQL 过程已成功完成

已用时间: 220.570(毫秒). 执行号:71.

SQL>


传入参数分别为起始快照ID,终止快照ID,生成报告的存放路径、生成报告的文件名。使用AWR_REPORT_HTML方法(FUNCTION)可以参考“《达梦数据库如何来配置并生成AWR报告》https://www.modb.pro/db/101621”的内容。

例2:生成TEXT格式的awr报告,保存在C:\dmdbms下,文件名为dm_awr_text.text

SQL> SYS.AWR_REPORT_TEXT(6,7,'C:\dmdbms','dm_awr_text.txt');

DMSQL 过程已成功完成

已用时间: 206.416(毫秒). 执行号:73.

SQL>


或者

SQL> spool C:/dmdbms/dm_awr_text.txt

SQL> SELECT * FROM TABLE (DBMS_WORKLOAD_REPOSITORY.AWR_REPORT_TEXT(6,7));

SQL> spool off;
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
1人已赞赏
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论