oracle 10046事件 调试级别

Extended SQL trace(10046事件),是oracle公司提供给开发或者DBA的关键服务之一,若使用10046事件必须开启debug模式

LevelDescription
0禁止启用debug调试
1开启debug调试.
SQL语句、响应时间、服务时间、处理的行数、逻辑读取次数、物理读和写、执行计划和一些额外的信息.
到了版本10.2之后,oracle会在当前游标关闭之后,将所有统计信息记录到trace文件中,这里记录的是它们的总和.
到了版本11.1,当游标第一次执行后,就将统计信息写入trace文件,统计信息仅和第一次的执行相关
4开启debug调试.
额外追加了绑定变量的信息. 主要包括数据类型、精度、以及用于每个执行的值
8开启debug调试.
追加等待时间. 主要包括等待的事件、等待时长和一些额外的等待信息.
16开启debug调试.
在版本11.1之后,追加将每次的执行计划都写入trace.
32开启debug调试.
在版本11.1之后,移除了执行计划的统计信息.
64开启debug调试.
在版本11.2.0.2之后,追加了在第一次执行后继续生成执行计划信息的判断,条件是当第一次执行的统计信息达不到分析要求,还有就是在收集Level-16的统计信息项消耗很大的情况下,也会重写执行计划

除了以上级别,还可以将多个执行计划合并,例如:

> Level 12 (4 + 8)      开启debug调试,并将绑定变量和等待信息写入trace.
> Level 28 (4 + 8 + 16) 开启debug调试,并将绑定变量和等待信息以及每次的执行计划写入trace.
> Level 68 (4 + 64)     开启debug调试,并将绑定变量和是否重写执行计划记录到trace中.

当你在使用dbms_monitor 或 dbms_session 扩展追踪你的sql语句时,对应的映射关系变为

> Level 4   waits=FALSE, binds=TRUE, plan_stat=’first_execution’
> Level 8   waits=TRUE, binds=FALSE, plan_stat=’first_execution’
> Level 16  waits=FALSE, binds=FALSE, plan_stat=’all_executions’
> Level 32  waits=FALSE, binds=FALSE, plan_stat=’never’
> Level 64  not available yet

通过上面的列表,你若想要继续在Level 64下使用dbms_monitor 或 dbms_session 选项,必须使用一下语句或者使用oradebug

alter session set events '10046 trace name context forever, level 64'
alter session set events 'sql_trace wait=false, bind=false, plan_stat=adaptive'
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值