ITPub博客

首页 > 数据库 > Oracle > oracle 10046事件跟踪

oracle 10046事件跟踪

原创 Oracle 作者:long_small 时间:2025-10-22 11:09:48 0 删除 编辑

1 sql_trace 用法

  alter session set sql_trace=true;

execute sql_1

alter session set sql_trace=false;

select value from v$diag_info where name='Default Trace File';


以上对当前用户执行跟踪


2  如果是其他用户,使用dbms_system.set_sql_trace_in_session


例如:

select sid,serial#,username from v$session where username='LONG';

sid   seriral#  username

8   2041        LONG 



exec dbms_system.set_SQL_trace_in_session(8,2041,trace);

exec dbms_system.set_SQL_trace_in_session(8,2041false);

还可以按照sql_id 进行跟踪


alter system set events ‘SQL_trace  [SQL:&&SQL_id] bind=true,wait=true';

exec dbms_system.set_SQL_trace_in_session(8,2041,trace);



3  10046 事件


alter session set events '10046 trace name context forever,level 12'  --启用跟踪

execute sql

alter session set events '10046 trace name context off'  --停止跟踪


对其他用户事件跟踪,可以使用dbms_system的set_ev过程实现

执行跟踪  -- 9,437  sid,serial#

exec  dbms_system.set_ev(9,437,10046,8,'');


结束跟踪

exec dbms_system.set_ev(9,437,10046,0,'')



对跟踪文件使用tkprof 工具格式化查看















来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/25846553/viewspace-3098282/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: 统计信息收集
请登录后发表评论 登录
全部评论
吕生龙,现就职于IBM,db2 dba,oracle 10G OCP

注册时间:2020-04-07

  • 博文量
    64
  • 访问量
    66974