Oracle中的Trace文件.docx

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

Oracle中的Trace文件博客分类:Oracle日常管理?如果一个系统的执行效率比较低,一个比较好的方法是通过跟踪用户的会话并且使用tkprof工具使用排序功能格式化输出,从而找出有问题的SQL语句。例如首先从os上利用top命令找到当前占用cpu资源最高的一个进程的PID号9999;然后在数据库中根据PID号找到相应的sid和serial#select s.sid,s.serial# from v$sessions,v$process p where s.paddr=p.addr and p.spid=9999;然后通过exec dbms_monitor.session_trace_enable(sid,serial#)开启trace;最后利用tkprof察看trace输出。开启Trace文件输出可以通过以下方法开启Trace文件输出(需要ALTER SESSION系统权限):1) alter session/system set sql_trace=true2) exec dbms_monitor.session_trace_enable/dbms_monitor.database_trace_enable3) alter session set events 10046 trace name context forever, level 12Trace文件的位置· 如果使用专用服务器连接,会在USER_DUMP_DEST参数指定的目录中生成跟踪文件。· 如果使用共享服务器连接,则在BACKGROUND_DUMP_DEST参数指定的目录中生成跟踪文件。Oracle11g之前,可以通过如下语句获得Trace文件路径:select c.value || / || d.instance_name || _ora_ || a.spid || .trc trace? from v$process a, v$session b, v$parameter c, v$instance d?where a.addr = b.paddr?? and b.audsid = userenv(sessionid)?? and c.name = user_dump_dest;Oracle11g之后,可以访问v$diag_info来获得Trace文件存放路径:select * from v$diag_info where name=Default Trace File;可以使用参数TRACEFILE_IDENTIFIER,为跟踪文件名增加一个可以惟一标识的串。例如:alter session set tracefile_identifier=my_trace_file;这样,生成的Trace文件名就会以my_trace_file.trc结尾。利用tkprof工具分析Trace文件可以利用tkprof工具分析Trace文件,产生一个更加清晰合理的输出结果。tkprof可以在$ORACLE_HOME/bin下面找到。1)命令格式命令格式为:tkproftracefileoutputfile [explain= ] [table= ] [print= ] [insert= ] [sys= ] [sort= ]参数说明:tracefile:要分析的trace文件?outputfile:格式化后的文件explain=user/password@connectstring?table=schema.tablename???? 上述两个参数是一起使用的,explain指示tkprof要为在跟踪文件中找到的每个SQL语句提供一个执行计划。??? 这是通过执行SQL语句EXPLAIN PLAN通过连接数据库对在trace文件中出现的每条sql语句查看执行计划,并将之输出到outputfile中。??? 指定的table名将提供给EXPLAIN PLAN语句。print=n:只列出最初N个sql执行语句,默认是无限制的,只有在和参数sort一起使用的时候才有意义insert=filename:会产生一个sql文件,运行此文件可将收集到的数据insert到数据库表中sys=no:sys用户运行的SQL语句(例如,解析操作阶段对数据字典的递归查询)不输出到输出文件中。record=filename:可将非嵌套执行的sql语句过滤到指定的文件中去?waits=yes|no:是否统计任何等待事件,默认是yes?aggregate=yes|no:是否将相同sql语句的执行信息合计起来,默认为yes?sort= option:设置排序选项,可以用逗号分隔多个选项。默认是跟踪文件中发现的SQL顺序。具体选项可以查看tkprof的命令帮助输出得到。例如:tkprof tracefil

文档评论(0)

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

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

1亿VIP精品文档

相关文档