DBMS_PROFILER包收集并存儲在性能剖析會話中執行的關于PL/pgSQLSPL語句的性能信息。

您可以使用下列表中列出的函數和存儲過程來控制剖析工具。

表 1. DBMS_PROFILER函數/存儲過程
函數/存儲過程 類型 返回類型 描述
FLUSH_DATA 函數、存儲過程 Status code、exception 刷新當前會話中收集的性能數據。
GET_VERSION(major OUT, minor OUT) 存儲過程 N/A 返回DBMS_PROFILER版本信息。
INTERNAL_VERSION_ CHECK 函數 Status code 確認DBMS_PROFILER的當前版本是否能與當前數據庫兼容。
PAUSE_PROFILER 函數、存儲過程 Status code、exception 暫停分析會話。
RESUME_PROFILER 函數、存儲過程 Status code、exception 繼續分析會話。
START_PROFILER(run comment, run commentl [, run number OUT ]) 函數、存儲過程 Status code、exception 開始數據收集會話。
STOP_PROFILER 函數、存儲過程 Status code、exception 停止分析會話及刷新性能信息到DBMS_PROFILER表和視圖中。

DBMS_PROFILER包中的函數返回的是一個表示成功或失敗的狀態碼。只有在DBMS_PROFILER存儲過程執行失敗時,才會產生異常。下表中列出了函數返回的狀態碼和消息,以及存儲過程產生的異常信息。

表 2. DBMS_PROFILER狀態碼和異常信息
狀態碼 狀態碼說明 異常信息 描述
-1 error version version_mismatch 分析器版本與數據庫不兼容。
0 success N/A 操作成功。
1 error_param profiler_error 參數錯誤。
2 error_io profiler_error 數據刷新失敗。

FLUSH_DATA

在不終結分析器會話的情況下,FLUSH_DATA函數/存儲過程會刷新從當前會話中收集的數據。數據將被刷新到PolarDB性能特性指南描述的表中。語法如下:
status INTEGER FLUSH_DATA

FLUSH_DATA
參數
參數名稱 描述
status 返回的狀態碼。

GET_VERSION

GET_VERSION存儲過程返回DBMS_PROFILER版本信息。語法如下:
GET_VERSION(major OUT INTEGER, minor OUT INTEGER)
參數
參數名稱 描述
major DBMS_PROFILER主版本的數量。
minor DBMS_PROFILER次版本的數量。

INTERNAL_VERSION_CHECK

INTERNAL_VERSION_CHECK 函數用于確認DBMS_PROFILER的當前版本是否能與當前數據庫兼容。語法如下:
status INTEGER INTERNAL_VERSION_CHECK
參數
參數名稱 描述
status 返回的狀態碼。

PAUSE_PROFILER

PAUSE_PROFILER函數/存儲過程用于暫停分析會話。語法如下:
status INTEGER PAUSE_PROFILER

PAUSE_PROFILER
參數
參數名稱 描述
status 返回的狀態碼。

RESUME_PROFILER

RESUME_PROFILER 函數/存儲過程用于繼續分析會話。語法如下:
status INTEGER RESUME_PROFILER

RESUME_PROFILER
參數
參數名稱 描述
status 返回的狀態碼。

START_PROFILER

START_PROFILER函數/存儲過程用于開始數據收集會話。語法如下:
status INTEGER START_PROFILER(run_comment TEXT := SYSDATE,
  run_comment1 TEXT := '' [, run_number OUT INTEGER ])

START_PROFILER(run_comment TEXT := SYSDATE,
  run_comment1 TEXT := '' [, run_number OUT INTEGER ])
參數
參數名稱 描述
run comment 給分析器會話的用戶定義的注釋。默認值為SYSDATE
run commentl 給分析器會話的額外用戶定義的注釋。默認值為TT
run number 分析器會話的數量。
status 返回的狀態碼。

STOP_PROFILER

STOP_PROFILER函數/存儲過程用于停止分析會話及刷新性能信息到DBMS_PROFILER表和視圖中。語法如下:
status INTEGER STOP_PROFILER

STOP_PROFILER
參數
參數名稱 描述
status 返回的狀態碼。