Oracle sql_trace 10046事件 10053事件笔记

大憨熊 提交于 2019-12-05 14:24:51

跟踪文件的位置

 show parameter user_dump_dest 

sql_trace分析步骤

1. 启用跟踪

alter session set sql_trace=true; 

2.执行sql

select * from emp where id='id' ; 

3.关闭跟踪

alter session set sql_trace=false; 

4.查阅跟踪文件

在跟踪文件的位置找到跟踪文件,用下面的命令格式化输出到sql.txt中

C:\>tkprof xxxx.trc sql.txt 

格式化后的文件说明
解析(Parse):此阶段是Oracle的优化器为SQL语句生成执行计划的阶段。
执行(Execute):此阶段是服务器进程按照执行计划执行语句的阶段。
抓取(Fetch):此阶段是服务器进程从表中抓取结果的阶段。只有 Select 语句才需要此阶段,Update、Insert、Delete等这些DML语句并不需要抓取行。
这个表格通常包括八列,这八列意义如下:
Call:说明了语句执行的每个阶段。
Count:此阶段的执行次数。
CPU:完成此阶段工作所耗的 CPU时间,单位是毫秒。
Elapsed:完成此阶段工作所耗费的 CPU时间再加上等待的时间,单位也是毫秒。
Disk:完成此阶段工作所用的物理读次数。
Query:完成此阶段工作所用的一致读次数。
Current:完成此阶段工作所用的当前读次数。Query 和 Current加起来就是逻辑读。
Rows:完成此阶段工作所操作的行数。
接下来一行:“Misses in library cache during parse:”说明硬解析的次数,本例中语句的执行进行了一次硬解析。
“Optimizer mode”是优化器模式
另外,我们在目标文件中还会发现大量的其他语句,注意,我们在跟踪其间,只执行了
一条SQL语句,跟踪文件中其他的语句,其实就是所谓的递归调用。也就是为了完成我们的
语句,Oracle内部执行的一些其他的 SQL语句。
通过观察跟踪文件的目标文件,我们可以观察到比较精确的 CPU时间、物理读逻辑读等
信息,这有助于我们了解一条 SQL语句是否有效。

跟踪方法二:10046事件
我们用10046事件也能完成 SQL跟踪,只需要将“alter session set sql_trace=true”
换成“alter session set events ‘10046 trace name context forever,level 1’”,
就可以完成一模一样的工作,这条语句也是开启SQL 跟踪。结束跟踪的语句是:
alter session set events ‘10046 trace name context off’;

http://www.cnblogs.com/shenfeng/p/oracle_sql_trace.html
http://www.cnblogs.com/zhaoguan_wang/p/5127982.html
http://luoping.blog.51cto.com/534596/1097826/
http://blog.itpub.net/29320885/viewspace-1223962/
http://www.eygle.com/archives/2011/02/dba_event_10046_10053.html
http://blog.csdn.net/tianlesoftware/article/details/5859027
http://www.cnblogs.com/andy6/p/5846943.html
http://czmmiao.iteye.com/blog/1497509
http://blog.csdn.net/yuzhenhuan01/article/details/5834838
http://blog.itpub.net/519536/viewspace-216982/
http://www.2cto.com/database/201308/232838.html
http://www.docin.com/p-758931828.html
http://www.jb51.net/article/39931.htm
http://blog.chinaunix.net/uid-26922071-id-4033774.html
http://blog.csdn.net/miyatang/article/details/14455275
http://blog.itpub.net/17252115/viewspace-751541/

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!