支持Trace Function
可获得性
本特性自505.2.0版本开始引入。
特性简介
Trace Function用于在执行存储过程期间记录正在执行的SQL语句,以便帮助快速定位存储过程执行缓慢的原因。
在调用dbe_perf.pl_trace_func_start函数开启trace功能后执行存储过程,或者正在执行存储过程时调用该函数,系统会记录该存储过程所执行的SQL语句。调用dbe_perf.pl_get_global_trace_info函数可查看记录的trace信息,调用dbe_perf.pl_trace_func_end函数关闭trace功能后,可通过dbe_perf.pl_trace_info_clean函数清理记录的trace信息。
客户价值
提供记录存储过程正在执行的SQL语句的能力,提升客户定位存储过程执行缓慢原因的效率。
特性描述
可以通过dbe_perf.pl_trace_func_start、dbe_perf.pl_trace_func_end分别开启,关闭trace功能,通过dbe_perf.pl_trace_info_clean、dbe_perf.pl_get_global_trace_info清理,查看记录的trace信息。
- dbe_perf.pl_trace_func_start参见《开发指南》中的“Schema > DBE_PERF Schema > Trace Function > pl_trace_func_start”章节。
- dbe_perf.pl_trace_func_end参见《开发指南》中的“Schema > DBE_PERF Schema > Trace Function > pl_trace_func_end”章节。
- dbe_perf.pl_trace_info_clean参见《开发指南》中的“Schema > DBE_PERF Schema > Trace Function > pl_trace_info_clean”章节。
- dbe_perf.pl_get_global_trace_info参见《开发指南》中的“Schema > DBE_PERF Schema > Trace Function > pl_get_global_trace_info”章节。
特性增强
无
特性约束
规格:
- pl_trace_func_start参数level范围:session、portal、time、threshold(不区分大小写)。
- pl_trace_func_start参数max_num范围:100~10000。
- pl_trace_func_start参数threshold仅支持大于等于零的入参,单位为毫秒,threshold参数仅在level为threshold时生效。
- pl_trace_func_start参数session_id若不存在则会报错,若该session已被trace则会报warning并将trace参数修改为本次的入参。
- pl_trace_func_end参数session_id若不存在则会报错,若该session未被trace则会报错。
- pl_trace_info_clean参数session_id若为null则清除所有的trace信息,若trace信息中有该session_id的数据则清除数据,若不存在则报错。
- pl_trace_info_clean不可清理正在执行trace的session上的数据,若该session正在trace会跳过清理并报warning提示。
- trace 功能即使执行的函数报错,也会记录已经执行过的语句,但是会在报错的语句后面添加[exception]标记。若函数正在执行时关闭trace功能或查看当前的trace_info信息,因当前语句未执行完毕也会添加[exception]标记。
- trace功能支持同时记录最多100个会话的trace信息。
约束:
- trace功能仅支持在线程池模式(enable_thread_pool = on)下使用。
- trace功能仅在被trace的会话执行过存储过程后才能使用。
- trace功能不支持匿名块语句、PACKAGE的实例化语句。
- trace功能不支持显示嵌套子程序内部语句,但会显示子程序行号和子程序函数名。
- trace功能不支持dbe_perf模式下的存储过程。
- trace功能和dbe_profiler功能不支持同时使用,若同时使用会报错。
依赖关系
无
浙公网安备 33010602011771号