一個確定trace檔案的指令碼

shuangoracle發表於2012-05-09

我們知道trace檔案目錄的格式為:user_dump_dest目錄/_ora_.trc

那麼我們如果要找到trace的目錄,我們要做的就是:

1、首先就要先找到user_dump_dest的目錄;

2、找到Oracleoracle_sid

3、找到當前session對應的作業系統程式號os_spid

--首先需要找到user_dump_dest的目錄

select value from v$parameter where name = 'user_dump_dest';

--oracle_sid

select instance_name from v$instance;

--os_spid,v$sessionv$process關聯可以查到所有session對應的程式,而v$mystat裡是當前session的統計資訊, --那麼用這三個表關聯可以找到當前session對應的作業系統程式號

select p.spid

 from v$mystat m, v$session s, v$process p

 where m.statistic# = 1--因為v$mystat裡記錄的sid都一樣,而且statistic#是唯一的,這裡是隨便取了一條

 and s.sid = m.sid

 and s.paddr = p.addr;

--至此,我們已經找到了各個關聯的條件,那麼就可以將這三部分合並起來得到當前sessiontrace檔案了

select p.value || '/' || i.instance_name || '_ora' || m.spid || '.trc'

 from (select value from v$parameter where name = 'user_dump_dest') p,

 (select instance_name from v$instance) i,

 (select p.spid

 from v$mystat m, v$session s, v$process p

 where m.statistic# = 1

 and s.sid = m.sid

 and s.paddr = p.addr) m;

查的結果為:

/home/oracle/admin/orcl/udump/orcl_ora4926

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

相關文章