Oracle设置10046事件

本文介绍了如何在Oracle数据库中使用10046事件进行SQL跟踪,从开启和关闭10046事件到设置trace标识,详细解释了不同跟踪级别,并展示了定位和格式化trace文件的过程。通过tkprof工具,可以有效地分析SQL的执行情况和性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.在开启事件之前,可以先设置trace的标识

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的执行情况)https://www.cndba.cn/hbhe0316/article/4930

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

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

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

https://www.cndba.cn/hbhe0316/article/4930
SQL > alter session set events '10046 trace name context off';

5.定位此次生成的trace文件https://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_tracehttps://www.cndba.cn/hbhe0316/article/4930

session级别开启/关闭10046 trace追踪https://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)中增加以下:

https://www.cndba.cn/hbhe0316/article/4930
https://www.cndba.cn/hbhe0316/article/4930
https://www.cndba.cn/hbhe0316/article/4930
https://www.cndba.cn/hbhe0316/article/4930
Event=”10046 trace name context forever,level 12”

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

oracle,linux

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值