我们知道trace文件目录的格式为:user_dump_dest目录/_ora_.trc
那么我们如果要找到trace的目录,我们要做的就是:
1、首先就要先找到user_dump_dest的目录;
2、找到Oracle的oracle_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$session和v$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;
--至此,我们已经找到了各个关联的条件,那么就可以将这三部分合并起来得到当前session的trace文件了
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/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/24496749/viewspace-723168/