深入理解Oracle调试事件:10046事件详解

本文深入探讨Oracle的10046事件,它是SQL_TRACE的扩展,用于性能问题诊断和故障排除。10046事件包括不同级别,如1级(SQL_TRACE开启)、4级(含绑定变量)和8级(含等待事件)。理解其格式对DBA至关重要,因为它能揭示SQL执行过程、执行计划、等待事件和绑定变量信息,为优化和问题定位提供依据。文章介绍了如何通过tracefile_identifier、oradebug及脚本获取trc文件,并讲解了STAT、WAIT、BINDS条目格式及其在诊断中的作用。
摘要由CSDN通过智能技术生成

       前也写过一篇10046的文章:10046简介

       今天,Think想和大家一起共同深入去理解一下Oracle的这些调试事件
     
       10046事件是SQL_TRACE的扩展,被戏称为"吃了兴奋剂的SQL_TRACE"
       有效的追踪级别:
       
       ① 0级:SQL_TRACE=FASLE
       ② 1级:SQL_TRACE=TRUE,这是缺省级别
       ③ 4级:1级+绑定变量
       ④ 8级:4级+等待事件
       ⑤ 12级:4级+8级
       
       对于4级的10046,若用tkprof格式化,则会隐藏每一点SQL语句在做什么以及怎么做
       对于8级的10046,等待事件散得到处多是,此时我们不妨用tkprof对等待事件进行汇总
       所以,理解扩展SQL跟踪文件的格式,是每一个面临性能问题或故障排除任务的DBA的必备技能
          
       ㈠ 为什么需要10046?
     
          对一个拥有alter session权限但是没有被授权DBA角色的数据库用户
          alter session set events是在他自己会话中启动扩展SQL跟踪的唯一方法
          通过这种方法将等待事件或者绑定变量包含在SQL跟踪文件中,然后进行优化或者错误诊断    
          10046 看到语句的执行过程,知道语句的执行计划,包括各种步骤,关联方式,分别在哪些步骤耗时多少,有哪些等待事件等
          这些都是优化的基础,知道这些,就知道该如何优化以及troubleshoting
          
       
     
       ㈡ 如何获取trc文件?


          这里主要介绍3种方法
          
          ① 使用tracefile_identifier,比如:
             alter session set tracefile_

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值