DM有类似于Oracle的AWR报告,这里将给大家介绍如何生成数据库快照以及AWR报告。本文演示环境:DM Database Server x64 V7.1.6.46-Build(2018.02.08-89107)ENT,启用DM快照需要调用DBMS_WORKLOAD_REPOSITORY包(DM MPP环境下不支持DBMS_WORKLOAD_REPOSITORY包)
1.创建DBMS_WORKLOAD_REPOSITORY系统包。

SQL>callSP_INIT_AWR_SYS(1);DMSQLexecutedsuccessfullyusedtime:647.666(ms).Executeidis254.

2.启用状态检测。

SQL>SELECTSF_CHECK_AWR_SYS;LINEIDSF_CHECK_AWR_SYS--------------------------11usedtime:5.590(ms).Executeidis255.

3.下面语句设置间隔为60分钟,也可以是其他值:

SQL>CALLDBMS_WORKLOAD_REPOSITORY.AWR_SET_INTERVAL(60);DMSQLexecutedsuccessfullyusedtime:18.797(ms).Executeidis256.

4.手动创建快照:

SQL>callDBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT();DMSQLexecutedsuccessfullyusedtime:61.528(ms).Executeidis258.

等待几分钟后再次执行

SQL>callDBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT();DMSQLexecutedsuccessfullyusedtime:49.152(ms).Executeidis259.

这里我们可以多执行几遍试试,创建几个不同的快照。

5.查看创建的快照信息,包括快照id:

SQL>SELECT*FROMSYS.WRM$_SNAPSHOT;LINEIDSNAP_IDDBIDINSTANCE_NUMBERSTARTUP_TIMEBEGIN_INTERVAL_TIMEEND_INTERVAL_TIMESNAP_LEVEL-------------------------------------------------------------------------------------------------------------------------------------------11NULL12020-02-0418:25:32.000000NULL2020-02-0418:28:35.586240122NULL12020-02-0418:25:32.000000NULL2020-02-0418:31:21.2076101

如果此时我们想知道,对应各个时点数据库的运行状况,我们可以利用DBMS_WORKLOAD_REPOSITORY包中的AWR_REPORT_HTML方法来生成HTML格式的AWR报表。
6.生成 snapshot 的 id 在 1-2 范围内的 AWR 分析报告的带 html 格式的内容。

SELECT*FROMTABLE(DBMS_WORKLOAD_REPOSITORY.AWR_REPORT_HTML(1,2));

7.把snapshot的id在1-2范围内的AWR分析报告生成到/home/dmdba目录下的awr1_2.html文件内。

SQL>callsys.awr_report_html(1,2,'/home/dmdba','awr1_2.html');DMSQLexecutedsuccessfullyusedtime:317.395(ms).Executeidis260.

生成的报表格式如下



从AWR报告来说,熟悉Oracle的朋友基本上可以无缝衔接到DM数据库