签到成功

知道了

CNDBA社区CNDBA社区

Oracle设置10046事件

2021-10-14 13:56 1129 0 原创 oracle
作者: hbhe0316

1.在开启事件之前,可以先设置trace的标识http://www.cndba.cn/hbhe0316/article/4930

SQL > alter session set tracefile_identifier='hhb';

Session altered.

2.开启10046跟踪事件

SQL > alter session set events '10046 trace name context forever, level 12';

Session altered.

3.执行要跟踪的sql语句(对应的trace文件中有SQL的执行情况)

http://www.cndba.cn/hbhe0316/article/4930
http://www.cndba.cn/hbhe0316/article/4930
http://www.cndba.cn/hbhe0316/article/4930
http://www.cndba.cn/hbhe0316/article/4930

SQL > select * from hbhe.t1 where id = 1;

    ID NAME
---------- --------------------------------------------------------------------------------
     1 name

4.停止10046事件跟踪http://www.cndba.cn/hbhe0316/article/4930

SQL > alter session set events '10046 trace name context off';

5.定位此次生成的trace文件http://www.cndba.cn/hbhe0316/article/4930

SQL > select distinct(m.sid),p.pid,p.tracefile from v$mystat m,v$session s,v$process p where m.sid=s.sid and s.paddr=p.addr;

       SID      PID
---------- ----------
TRACEFILE
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
       137       82
/u01/app/oracle/diag/rdbms/testdb/testdb/trace/testdb_ora_11252_hhb.trc

5.用tkprof工具格式化文件输出

10046事件是SQL_TRACE的扩展,有效的跟踪级别有:
level 0:SQL_TRACE=FASLE
level 1:跟踪sql语句,包括解析、执行、提取、提交和回滚等。
level 4:1级+绑定变量
level 8:4级+等待事件
level 12:4级+8级
其中,level 1相当于打开了sql_trace

http://www.cndba.cn/hbhe0316/article/4930

session级别开启/关闭10046 trace追踪http://www.cndba.cn/hbhe0316/article/4930http://www.cndba.cn/hbhe0316/article/4930

alter session set evnets '10046 trace name context forever,level 12';
alter session set events '10046 trace name context forever off';

system级别开启/关闭10046 trace追踪

alter system set events '10046 trace name context forever,level 12';
alter system set events '10046 trace name context forever off';

也可以进行全局设置,在参数文件(pfile/spfile)中增加以下:

Event=”10046 trace name context forever,level 12”

版权声明:本文为博主原创文章,未经博主允许不得转载。

oracle,linux

用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
hbhe0316

hbhe0316

关注

1.只有承认无知,才能装下新的东西; 2.进步来自一点点滴滴的积累; 3.广博让你更优秀,而专业让你无法替代; 4.挫折和失败能够转换为一种财富。

  • 889
    原创
  • 1
    翻译
  • 13
    转载
  • 24
    评论
  • 访问:1137988次
  • 积分:1523
  • 等级:核心会员
  • 排名:第6名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by CNDBA · 皖ICP备2022006297号-1·

        QQ交流群

        注册联系QQ