ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 一个快速查看trace的小脚本

一个快速查看trace的小脚本

原创 Linux操作系统 作者:space6212 时间:2019-01-29 13:09:07 0 删除 编辑
在日常工作中经常需要用10046跟踪一些进程,为了方便,写了一个可以方便查看trace的小脚本。
begin_trace:
代码:
-- run in SQL*Plus --
set termout off
set heading off
set verify off
set feedback off
alter session set timed_statistics
=true; alter session set events '10046 trace name context forever,level 12';
.



end_trace:
代码:

-- run in SQL*Plus --
alter session set events '10046 trace name context off'; column trace_file_name new_val f
column tk_name new_val tk select
d.value||b.is_win||lower(rtrim(i.instance, chr(0)))||'_ora_'||p.spid||'.trc' trace_file_name ,
d.value||b.is_win||'tk.prf' tk_name
from
( select p.spid
from v$mystat m,v$session s,v$process p
where m.statistic# = 1 and s.sid = m.sid and p.addr = s.paddr) p,
( select t.instance from v$thread t,v$parameter v
where v.name = 'thread' and (v.value = 0 or t.thread# = to_number(v.value))) i,
( select value from v$parameter where name = 'user_dump_dest') d,
(select DECODE(count(*),0,'/','') is_win from v$version where upper(banner) like '%WINDOWS%') b;

set termout on
set heading on
set verify on
set feedback on
host tkprof &f &tk
edit &t



使用方法:
代码:

suk
@oracle9i> @begin_trace --设置事件
suk
@oracle9i> select * from dual; --这里写执行的sql

X
suk
@oracle9i> @end_trace--结束trace,此时会自动打开格式化后的trace文件
.



如果是linux,则在进入sqlplus前需要设置:export EDITOR=vi
或者在$ORACLE_HOME/sqlplus/admin/glogin.sql中加入:
DEFINE _EDITOR = vi

稍作改动,这个脚本可以方便跟踪很多事件。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/231499/viewspace-63759/,如需转载,请注明出处,否则将追究法律责任。

下一篇: 如何优化in操作
请登录后发表评论 登录
全部评论

注册时间:2005-01-25

  • 博文量
    245
  • 访问量
    168756