1.查看v$diag_info视图,能查看跟踪文件的位置,具体的名称等信息。
name列中,Diag Trace是11g跟踪文件所在位置
Default Trace File是当前会话的跟踪文件名
2.查询可以生成跟踪文件名
select
c.value||'\'||d.instance_name||'_ora_'||a.spid||'.trc'||
case when e.value is not null then '_'||e.value end as trace
from v$process a,v$session b,v$parameter c,v$instance d,v$parameter e
where a.addr=b.paddr
and b.audsid=userenv('sessionid')
and c.name='user_dump_dest'
and e.name='tracefile_identifier';
注意:在linux下'/' 在windows下'\'
3.启用跟踪文件并生成跟踪文件
exec dbms_monitor.session_trace_enable
4.给跟踪文件设置一些标识,这样做当你无权访问v$process v$session时,也能找到跟踪文件
alter session set tracefile_identifier='look_for_me';
SQL> alter session set tracefile_identifier='look_for_me';
会话已更改。
SQL> exec dbms_monitor.session_trace_enable;
PL/SQL 过程已成功完成。
SQL> select
2 c.value||'\'||d.instance_name||'_ora_'||a.spid||'.trc'||
3 case when e.value is not null then '_'||e.value end as trace
4 from v$process a,v$session b,v$parameter c,v$instance d,v$parameter e
5 where a.addr=b.paddr
6 and b.audsid=userenv('sessionid')
7 and c.name='user_dump_dest'
8 and e.name='tracefile_identifier';
TRACE
---------------------------------------------------------------------------
d:\app\administrator\diag\rdbms\roc\roc\trace\roc_ora_4848.trc_look_for_me