ITPub博客

首页 > Linux操作系统 > Linux操作系统 > trace使用方法

trace使用方法

原创 Linux操作系统 作者:wojiaoao 时间:2010-09-16 08:41:31 0 删除 编辑

 1. 找出sid和serial#

        select sid,serial#,osuser from v$session t
        where t.USERNAME='USERNAME';

        2. 开始sqltrace

        execute dbms_system.set_sql_trace_in_session(sid,serial#,ture);

        3. 运行程序

        4. 停止sqltrace

        execute dbms_system.set_sql_trace_in_session(sid,serial#,false);

        5. 使用cmd 到udump

        例: D:\Oracle\product\10.1.0\admin\test10g\udump

        6. 找最新的trace文件

        7. 使用tkprof文件解析trace文件

        例: tkprof sqltrace文件.trc  a.out

        8. 打开a.out

 

--unix
SELECT       d.VALUE
       || '/'
       || LOWER (RTRIM (i.INSTANCE, CHR (0)))
       || '_ora_'
       || p.spid
       || '.trc' trace_file_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
/

--win
SELECT    d.VALUE
       || '\'
       || LOWER (RTRIM (i.INSTANCE, CHR (0)))
       || '_ora_'
       || p.spid
       || '.trc' trace_file_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
/

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

下一篇: tns常见错误说明
请登录后发表评论 登录
全部评论

注册时间:2009-09-01

  • 博文量
    76
  • 访问量
    141479