接上篇博文Oracle执行语句跟踪(1)--使用sql trace实现语句追踪,一旦我们通过会话追踪获取到超时事物的执行语句,就可以使用10046事件对语句进行追踪. 启用10046事件追踪的方式 SQL> alter session set events '10046 trace name context forever ,level 12' ;SQL> alter session set events '10046 trace name context off' ; 从上面语句可以看出追踪…
系统上的某个接口提交数据经常超时(超过3秒),而我单独在后台数据库(Oracle)执行insert,只需要17ms.提交数据的客户端没有任何的调试日志,只能通过跟踪后台语句记录实际调用过程中的数据库执行时间.从而发现问题耗时最多的阶段. 安装dbms_support包 SQL> @?\rdbms\admin\dbmssupp.sql SQL> grant execute on dbms_support to test; 找到需要跟踪的会话,一个接口可能会建立多个会话,需要根据会话建立的时间来判…
跟踪文件由各个后台进程生成,警报日志中记录关键操作包括:     ·所有启动和关闭命令,包括中间命令,如alter database mount     ·实例的所有内部错误(ORA-600错误,只能报告给Oracle Support解决)     ·任何检测到的数据文件块损坏情况     ·任何已经发生的死锁     ·影响数据库物理结构的所有操作,如创建或重命名数据文件和联机重做日志     ·调整内部参数值的alter system命令     ·所有日志开关和日志归档文件 以Oracle…
1.使用sql_trace跟踪执行计划 1.1 当前session跟踪: alter session set sql_trace = true; //开始sql_trace alter session set tracefile_identifier = jytrace; //设定trace文件的标识符 alter session set sql_trace = false; //结束sql_trace 1.2 其他session跟踪:(根据其他session的sid, serial#定位,最常…
Oracle 的事件很多. 具体参考blog: Oracle 跟踪事件 set event 转摘:http://blog.csdn.net/tianlesoftware/archive/2009/12/13/4977827.aspx 10046 事件主要用来跟踪SQL语句,它并不是ORACLE 官方提供给用户的命令,在官方文档上也找不到事件的说明信息. 但是用的却比较多,因为10046事件获取SQL的信息比SQL_TRACE 更多. 更有利于我们对SQL的判断. 10046 事件按照收集信息内容…
http://blog.csdn.net/tianlesoftware/article/details/5857023 一. SQL_TRACE 当SQL语句出现性能问题时,我们可以用SQL_TRACE来跟踪SQL的执行情况,通过跟踪,我们可以了解一条SQL或者PL/SQL包的运行情况,SQL_TRACE命令会将SQL执行的整个过程输出到一个trace文件中,我们可以读这个trace 文件来了解在这个SQL执行过程中Oracle 都做了哪些操作. 可以通过sql命令启动SQL_TRACE,或者在…
查看 sql 执行计划的方法有许多种, 10046 事件就是其中的一种. 与其他查看 sql 执行计划不同, 当我们遇到比较复杂的 sql 语句, 我们可以通过 10046 跟踪 sql 得到执行计划中每一个步骤的逻辑读, 物理读以及花费的时间等. 这种细粒度的跟踪对于我们分析 sql 性能尤其有用. 10046:SQL到底是如何执行的: 10046 = 设置sql_trace=true; 10046 可以跟踪到等待事件&绑定变量;   tkprof 只解读(格式化)10046的trace文件1…
10046事件是SQL_TRACE的扩展,被戏称为"吃了兴奋剂的SQL_TRACE"       有效的追踪级别:              ① 0级:SQL_TRACE=FASLE       ② 1级:SQL_TRACE=TRUE,这是缺省级别       ③ 4级:1级+绑定变量       ④ 8级:4级+等待事件       ⑤ 12级:4级+8级              对于4级的10046,若用tkprof格式化,则会隐藏每一点SQL语句在做什么以及怎么做       …
背景知识: 10046 事件按照收集信息内容,可以分成4个级别: Level 1: 等同于SQL_TRACE 的功能 Level 4: 在Level 1的基础上增加收集绑定变量的信息 Level 8: 在Level 1 的基础上增加等待事件的信息 Level 12:等同于Level 4+Level 8, 即同时收集绑定变量信息和等待事件信息. 一: 跟踪当前会话sql 1. sys用户给执行跟踪dblink用户授权SQL> grant alter session to dblink; Grant…
一.sql_trace的介绍 --打开trace文件设置,把sql trace设置为true,就会在udump目录中增加一个trc文件.alter session set sql_trace=true;show parameter sql_trace;(select * from v$parameter where name='sql_trace';)修改后不生效呢?show parameter sql_trace;其参数始终是FALSE    show parameter sql_trace是…