ORACLE的跟踪文件
Oracle必须设置SQL_TRACE=true或者通过10046事件扩展跟踪工具生成:
alter session set events '10046 trace context forever,level 12';
1.跟踪文件的位置:
对于专用服务器连接,在USER_DUMP_DEST参数指定目录下;
对于共享服务器连接在BACKGROUND_DUMP_DEST参数指定的目录下,以下两个命令可以查看
show parameter DUMP_DEST;
select name,value from v$parameter where name like '%dump_dest%';
第二条命令结果如下:
SQL> select name,value from v$parameter where name like '%dump_dest%'; NAME -------------------------------------------------------------------------------- VALUE -------------------------------------------------------------------------------- background_dump_dest /opt/oracle/admin/SGHIS/bdump user_dump_dest /opt/oracle/admin/SGHIS/udump core_dump_dest /opt/oracle/admin/SGHIS/cdump
若用户无权限访问v$parameter,可以使用DBMS_UTILITY来访问
declare l_str varchar2(255); l_dump number; begin l_dump:=dbms_utility.get_parameter_value('background_dump_dest',l_dump,s_str); end
跟踪文件命名规则:SID_ORA_进程号.trc
查询生成的跟踪文件:
select c.value || '/'||d.instance_name || '_ora_' || a.spid || '.trc' trace from v$process a, v$session b, v$parameter c, v$instance d where a.addr = b.paddr and b.audsid = userenv('sessionid') and c.name = 'user_dump_dest';