使用TKPROF格式化TRACE输出之“解剖麻雀”.docx

使用TKPROF格式化TRACE输出之“解剖麻雀”.docx

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
使用TKPROF格式化TRACE输出之“解剖麻雀”

【TKPROF】使用TKPROF格式化TRACE输出之“解剖麻雀” 2009-10-21 11:26:54 《【SQL_TRACE】SQL优化及性能诊断好帮手》/519536/viewspace-616240中简单的提到了使用TKPROF工具格式化SQL_TRACE的输出信息的方法,并没有对输出的内容做比较清楚的描述,通过这个小文儿,展示一下TKPROF对trace文件格式化的魅力,这里只给出具体输出信息含义的描述,不展示真实的性能诊断案例。1.与之上次使用到的SQL_TRACE功能相比,我们这次将使用更高级的trace命令(10046)来做演示。我们先启用“高级”的10046事件生成一份待格式化的trace文件1)连接到普通用户secsys@ora10g conn sec/secConnected.2)先将timed_statistics参数设置为true,这样可以使TKPROF工具能提供更多的有意义的信息,方便性能诊断sec@ora10g alter session set timed_statistics=true;Session altered.3)“高级”之所在,我们这里启用10046的level 12对当前会话进行跟踪。(1)在此,给出10046各level的解释参考:level 1 to enable the standard SQL_TRACE facility (same as SQL_TRACE=TRUE)等同于标准的SQL_TRACE=TRUE;level 4 to enable SQL_TRACE and also capture bind variable values in the trace file启用SQL_TRACE,并捕捉跟踪文件中的绑定变量;level 8 to enable SQL_TRACE and also capture wait events into the trace file启用SQL_TRACE,并捕捉跟踪文件中的等待事件;level 12 to enable standard SQL_TRACE and also capture bind variables and wait events启用SQL_TRACE,并捕捉跟踪文件中的绑定变量和等待事件(捕获信息能力最强)。(2)对当前会话启用level 12的跟踪:sec@ora10g alter session set events 10046 trace name context forever, level 12;Session altered.(3)【补充】如果想使用这种高级方法对其他的会话进行跟踪的话,可以使用如下的SQL语句开启和关闭:开启:execute dbms_system.set_ev(sid,serial#,10046,12,);关闭:execute dbms_system.set_ev(sid,serial#,10046,0,);举例如下:A.获得sid, serial#的信息sys@ora10g select sid, serial# from v$session;B.开启sys@ora10g execute dbms_system.set_ev(543,1306,10046,12,);C.关闭sys@ora10g execute dbms_system.set_ev(543,1306,10046,0,);4)在该会话中运行一条具体的SQL语句,此处使用到的实验表t中包含1亿条数据。该SQL语句的执行情况将被细致的记录到trace文件中。sec@ora10g select count(*) from t;? COUNT(*)----------?1000000005)关闭当前会话的跟踪sec@ora10g alter session set events 10046 trace name context off;Session altered.2.在udump目录中找到刚刚生成的trace文件(关于如何快速获得生成的trace文件的方法有很多种,选择一个适合自己的就OK),并使用TKPROF对其进行格式化,然后打印一下全部输出,后面将对每一个输出项做一下“解剖麻雀”:)ora10g@secDB /oracle/app/oracle/admin/ora10g/udump$ tkprof ora10g_ora_21213.trc ora10g_ora_21213.prfTKPROF: Release .0 - Production on Wed Oct 21 10:04:40 2009Copyright (c) 1982, 2005, Oracle.? All rights reserved.ora

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档