trace使用方法

 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
/

请使用浏览器的分享功能分享到微信等