ITPub博客

首页 > 数据库 > Oracle > 10046 10053

10046 10053

原创 Oracle 作者:shihfa 时间:2016-02-24 10:54:49 0 删除 编辑
10046事件

level 1:跟踪sql语句,包括解析、执行、提取、提交和回滚等。相当于打开了sql_trace 。
level 4:包括变量的详细信息
level 8:包括等待事件
level 12:包括绑定变量与等待事件

1、首先获得spid、sid、serial#,machine为连接oracle的机器名
select sid from v$mystat wher rownum<2;
select spid from v$process where addr in (select paddr from v$session where sid=3322);
2、10046 事件跟踪
alter session set events '10046 trace name context forever ,level 12' ;     --开启本会话的10046事件
exec dbms_monitor.session_trace_enable(267,996,waits=>true,binds=>true);    -- 开启其他会话的10046事件                                                                 
alter session set events '10046 trace name context off' ;                   --关闭本会话的10046事件
exec dbms_monitor.session_trace_disable(267,996);                           -- 关闭其他会话的10046事件
3、获得产生的跟踪文件目录
SQL> select value from v$parameter where name = 'user_dump_dest';   
4、使用tkprof命令   
#########################
10053事件

对于10053事件的trace文件,我们只能直接阅读原始的trace文件,不能使用tkprof工具来处理,tkprof工具只能用来处理sql_trace 和 10046事件产生的trace文件。
要实现跟踪必须满足两个条件:sql语句必须被hard parse并且必须使用CBO优化器模式。

ALTER SESSION SET EVENTS='10053 trace name context forever, level 1';  --开启本会话的10053事件
ALTER SESSION SET EVENTS '10053 trace name context off';               --关闭本会话的10053事件
SYS.DBMS_SYSTEM.SET_EV (<sid>, <serial#>, 10053, {1|2}, '')    --开启其他会话的10053事件
SYS.DBMS_SYSTEM.SET_EV (<sid>, <serial#>, 10053,0, '')         --关闭其他会话的10053事件



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

上一篇: CREATE_ASMDISK
请登录后发表评论 登录
全部评论

注册时间:2013-11-05

  • 博文量
    62
  • 访问量
    55236