做Oracle方面的工作时间长了,经常会听人提起10046事件,尤其是涉及到SQL调优的时候更甚。那10046事件到底是什么呢,先做一个简单的介绍。
1、什么是10046事件 10046事件是Oracle提供的一个用于分析性能的工具,它能帮助我们解析一条/多条SQL、PL/SQL语句的运行状态,这些状态包括 :Parse/Fetch/Execute三个阶段中遇到的等待事件、消耗的物理和逻辑读、CPU时间、执行计划等等。2、10046事件的Level不同的Level对应不同的跟踪级别1 启用标准的SQL_TRACE功能(默认)包含了SQL语句、响应时间、服务时间、处理的行数,物理读和写的数目、执行计划以及其他一些额外信息。到版本10.2中执行计划写入到trace的条件是仅当相关游标已经关闭时,且与之相关的执行统计信息是所有执行次数的总和数据。到版本11.1中仅在每次游标的第一次执行后免费云主机域名将执行计划写入到trace,执行统计信息仅仅和这第一次执行相关4 比level 1时多出绑定变量的trace8 比level 1多出等待事件,特别对于9i中指出latchfree等待事件很有用,对于分析全表扫描和索引扫描也很有用12 比level 1多出绑定变量和等待事件11g及以上版本16 在11g中为每一次执行生成STAT信息32 比level 1少执行计划11.2.0.2及以上版本64 和level 1相比在第一次执行后还可能生成执行计划信息;条件是某个游标在前一次执行的前提下运行耗时变长了一分钟。3、启用10046事件1)对本session启用10046事件a.alter session set events ‘10046 trace name context forever,level 12’b.oradebug setmypidoradebug event 10046 trace name context ,level 12其中能修改的只有level级别2)对其他session启用10046事件oradebug setospid|setorapid xxxoradebug event 10046 trace name context ,level 124、停用10046事件分别对应上面不同的启用方式alter session set events ‘10046 trace name context forever off’oradebug event 10046 trace name context off或者退出启用10046事件的session
5、获取10046事件生成的trace文件a.对于11g及以上的版本,使用如下语句可以轻松得到select value from v$diag_info where name=’Default Trace File’;b.对于10g及以前的版本中需要使用如下sqlc.如果使用oradebug命令则使用相对应的oradebug tracefile_name即可得到trace文件6、格式化trace文件10046事件所产生的原始trace文件习惯称之为裸trace文件(raw trace),Oracle记录在裸trace文件中的内容一眼看上去并不是那么观,也不是那么容易看懂。为了祼trace文件能够以一种更直观、更容易懂的方式展现出来,Oracle提供了tkprof命令,这个命令是Oracle自带的,可以用它来翻译祼trace文件。tkprof的语法如下:7、简单示例,数据库版本11.2.0.4参考文档:https://blogs.oracle.com/askmaclean/entry/maclean教你读oracle_10046_sql_trace MOS文档EVENT: 10046 “enable SQL statement tracing (including binds/waits)” (文档 ID 21154.1)How To Collect 10046 Trace (SQL_TRACE) Diagnostics for Performance Issues (文档 ID 376442.1)官方文档:http://docs.oracle.com/cd/E11882_01/server.112/e41573/sqltrace.htm#PFGRF94981
http://www.itpub.net/thread-1499223-20-1.html 19免费云主机域名1楼 为了鼓励访问者越来越多地使用我们的网站,我们针对他们的活动给予积分。我们的积分计算方法为基本点数和系数的乘积。如果活动发生在 08:00 之前,…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。