这篇文章将为大家详细讲解有关SQL中如何利用10046事件扩展SQL跟踪,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在会话sql_trace的基础上,利用10046诊断事件,可以扩展sql_trace的功能,主要体现在对绑定变量和等待事件的跟踪上。 10046诊断事件可以设置的四个级别:
level 1 启用标准的SQL跟踪,等价于sql_trace
level 4 level
1 + 绑定变量信息
level 8 level
1 + 等待事件信息
level 12
level 1 +
level 4 + level 8 启用自己会话的免费主机域名10046事件跟踪
alter session
set events ‘10046 trace name context forever,level 12’;关闭10046事件跟踪
alter session
set events ‘10046 trace name context off’;
设置对指定会话的跟踪,有以下几种方法:1、通过程序包dbms_monitor
开启跟踪
exec
dbms_monitor.session_trace_enable(, , waits =>
true, binds => true);
关闭跟踪
exec
dbms_monitor.session_trace_disable(, );2、通过程序包dbms_system
开启跟踪
exec
dbms_system.set_ev(, , 10046, 12, ”);
关闭跟踪
exec
dbms_system.set_ev(, , 10046, 0, ”);3、通过oradebug
开启跟踪oradebug
setorapid ; 或 oradebug setospid ;
oradebug
session_event 10046 trace name context forever, level 12;免费主机域名
确定跟踪文件路径
oradebug
tracefile_name;
关闭跟踪
oradebug event
10046 trace name context off;
当前会话的事件编号及其级别,可以用以下代码获取
set serveroutput on
declare
event_level number;
begin
for event_number in 10000 .. 10999 loop
dbms_system.read_ev(event_number,
event_level);
if (event_level > 0) then
dbms_output.put_line(‘Event ‘ ||
to_char(event_number) ||
‘ is set at
level ‘ ||
to_char(event_level));
end if;
end loop;
end;
/关于“SQL中如何利用10046事件扩展SQL跟踪”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
相关推荐: JBuilder7+Weblogic7+mysql开发EJB如何配置
这篇文章主要介绍了JBuilder7+Weblogic7+mysql开发EJB如何配置,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 配置JB+WLS可以说是一场恶梦,网上搜了所有可以搜到的贴子…