这篇文章将为大家详细讲解有关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跟踪”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
这篇文章将为大家详细讲解有关Redis缓存原理是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1. Redis是什么Redis 是一个高性能的开源的、C语言写的Nosql(非关系型数据库),数据保存在内存中。 Redis…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。