DBMS_PROFILER
包收集并存储在性能剖析会话中执行的关于PL/pgSQL
和SPL
语句的性能信息。
您可以使用下列表中列出的函数和存储过程来控制剖析工具。
表 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
参数
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
参数
PAUSE_PROFILER
PAUSE_PROFILER
函数/存储过程用于暂停分析会话。语法如下:
status INTEGER PAUSE_PROFILER
PAUSE_PROFILER
参数
RESUME_PROFILER
RESUME_PROFILER
函数/存储过程用于继续分析会话。语法如下:
status INTEGER RESUME_PROFILER
RESUME_PROFILER
参数
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
参数