Oracle 效能調優工具:SQL Monitor

yy8872576發表於2024-03-11

Oracle 效能調優工具:SQL Monitor

SQL Monitor 的應用場景主要針對可能存在效能瓶頸的 SQL 進行監控和分析,呼叫 dbms_sqltune.report_sql_monitor 可以獲得相應 SQL 的 HTML 報告。
當 SQL 的執行時間超過 5 秒,會被 SQL Monitor 自動列為監控物件,並會被記錄在 v$sql_monitor 檢視中。當表開啟並行查詢時,也會被 SQL Monitor 記錄。

SQL Monitor 的報告使用時有兩種形式,一種是指定 SID,另一種是指定SQL_ID。

1. 透過查詢 v$sql_monitor 檢視,檢查有哪些慢 SQL 被 SQL Monitor 列入監控。

SELECT STATUS , USERNAME , MODULE ,PROGRAM,SID, SQL_ID , SQL_TEXT
FROM V$SQL_MONITOR ;

2. 透過呼叫 dbms_sqltune.report_sql_monitor 生成 HTML 的分析報告。

2.1 指定SQL_ID 生成報告, 樣式為ACTIVE
SELECT DBMS_SQLTUNE.REPORT_SQL_MONITOR ( SQL_ID => '1cg9h05uqz1sn' , REPORT_LEVEL => 'ALL' ,TYPE=> 'ACTIVE' )
ROM DUAL ;

2.2 指定SID生成報告, 樣式為ACTIVE
SELECT DBMS_SQLTUNE.REPORT_SQL_MONITOR ( SESSION_ID => 8651 , REPORT_LEVEL => 'ALL' ,TYPE=> 'ACTIVE' )
FROM DUAL ;

SQL Monitor 生成的報告型別有多種樣式,其中用的多的有 ACTIVE、HTML、TEXT。
ACTIVE 是一種 HTML 的互動頁面,可以點選標籤頁切換內容。
HTML 是個靜態頁面,
TEXT 是純文字表格樣式。

---ACTIVE 樣式
SELECT DBMS_SQLTUNE.REPORT_SQL_MONITOR ( SQL_ID => 'b09ggu59qcupg' ,TYPE=> 'ACTIVE' , REPORT_LEVEL => 'ALL' ) AS REPORT
FROM DUAL ;

SELECT DBMS_SQLTUNE.REPORT_SQL_MONITOR ( SESSION_ID => 8651 ,TYPE=> 'ACTIVE' , REPORT_LEVEL => 'ALL' ) AS REPORT
FROM DUAL ;

---HTML 樣式
SELECT DBMS_SQLTUNE.REPORT_SQL_MONITOR ( SQL_ID => 'b09ggu59qcupg' , TYPE=> 'HTML' , REPORT_LEVEL => 'ALL' ) AS REPORT
FROM DUAL ;

SELECT DBMS_SQLTUNE.REPORT_SQL_MONITOR ( SESSION_ID => 8651 ,TYPE=> 'HTML' , REPORT_LEVEL => 'ALL' ) AS REPORT
FROM DUAL ;

--TEXT樣式
SELECT DBMS_SQLTUNE.REPORT_SQL_MONITOR ( SQL_ID => 'b09ggu59qcupg' , TYPE=> 'TEST' , REPORT_LEVEL => 'ALL' ) AS REPORT
FROM DUAL ;

SELECT DBMS_SQLTUNE.REPORT_SQL_MONITOR ( SESSION_ID => 8651 , TYPE=> 'TEXT' , REPORT_LEVEL => 'ALL' ) AS REPORT
FROM DUAL ;

3. SQL MONITOR 的監控功能預設會自動開啟,預設的引數檔案配置為:
SQL> SHOW PARAMETER CONTROL_MANAGEMENT_PACK_ACCESS
CONTROL_MANAGEMENT_PACK_ACCESS STRING DIAGNOSTIC +TUNING

SQL> SHOW PARAMETER STATISTICS_LEVEL
STATISTICS_LEVEL STRING TYPICAL


來自 “ ITPUB部落格 ” ,連結:https://blog.itpub.net/10464273/viewspace-3008563/,如需轉載,請註明出處,否則將追究法律責任。

相關文章