[20120723跟蹤檔案的定位.txt

lfree發表於2012-07-23
[20120723跟蹤檔案的定位.txt

在做10046跟蹤的時候,經常需要定位跟蹤檔案的位置。
alter session set events '10046 trace name context forever, level 8';

11g下,在v$process加入了tracefile欄位。執行如下就可以知道。
select tracefile from v$process where addr = (select paddr from v$session where sid = userenv('sid'))
或者執行
select * from v$diag_info where name='Default Trace File';


10g下寫出通用的指令碼要複雜一點,如下:

連結:



SELECT value ||
       CASE
       WHEN instr(dbms_utility.port_string, 'WIN_NT') > 0 then '\'
       ELSE '/'
       END || (
        SELECT instance_name FROM v$instance) || '_ora_' || (
        SELECT spid ||
               CASE
               WHEN traceid is not null then '_' || traceid
               ELSE null
               END
          FROM v$process
         WHERE addr = (
                SELECT paddr FROM v$session
                 WHERE sid  = (
                        SELECT sid FROM v$mystat WHERE rownum = 1))) || '.trc' as tracefile
  FROM v$parameter
 WHERE name  = 'user_dump_dest' ;

透過函式dbms_utility.port_string知道OS的作業系統型別,剩下的就簡單了。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-736317/,如需轉載,請註明出處,否則將追究法律責任。

相關文章