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> call SP_INIT_AWR_SYS(1);
DMSQL executed successfully
used time: 647.666(ms). Execute id is 254.
2.啟用狀态檢測。
SQL> SELECT SF_CHECK_AWR_SYS;
LINEID SF_CHECK_AWR_SYS
---------- ----------------
1 1
used time: 5.590(ms). Execute id is 255.
3.下面語句設定間隔為60分鐘,也可以是其他值:
SQL> CALL DBMS_WORKLOAD_REPOSITORY.AWR_SET_INTERVAL(60);
used time: 18.797(ms). Execute id is 256.
4.手動建立快照:
SQL> call DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT();
used time: 61.528(ms). Execute id is 258.
等待幾分鐘後再次執行
used time: 49.152(ms). Execute id is 259.
這裡我們可以多執行幾遍試試,建立幾個不同的快照。
5.檢視建立的快照資訊,包括快照id:
SQL> SELECT * FROM SYS.WRM$_SNAPSHOT;
LINEID SNAP_ID DBID INSTANCE_NUMBER STARTUP_TIME BEGIN_INTERVAL_TIME END_INTERVAL_TIME SNAP_LEVEL
---------- ----------- ----------- --------------- --------------------------- --------------------------- --------------------------- -----------
1 1 NULL 1 2020-02-04 18:25:32.000000 NULL 2020-02-04 18:28:35.586240 1
2 2 NULL 1 2020-02-04 18:25:32.000000 NULL 2020-02-04 18:31:21.207610 1
如果此時我們想知道,對應各個時點資料庫的運作狀況,我們可以利用DBMS_WORKLOAD_REPOSITORY包中的AWR_REPORT_HTML方法來生成HTML格式的AWR報表。
6.生成 snapshot 的 id 在 1-2 範圍内的 AWR 分析報告的帶 html 格式的内容。
SELECT * FROM TABLE (DBMS_WORKLOAD_REPOSITORY.AWR_REPORT_HTML(1,2));
7.把snapshot的id在1-2範圍内的AWR分析報告生成到/home/dmdba目錄下的awr1_2.html檔案内。
SQL> call sys.awr_report_html(1,2,'/home/dmdba','awr1_2.html');
used time: 317.395(ms). Execute id is 260.
生成的報表格式如下
從AWR報告來說,熟悉Oracle的朋友基本上可以無縫銜接到DM資料庫