oracle跟踪文件(1)
一、跟踪文件(Trace file)
- 能提供详细的调试信息。服务器故障时,生成一个包含大量诊断信息的跟踪文件。
- 开启跟踪SQL_TRACE=TRUE
- 几方面体现oracle测量性
- V$视图,如v$waitstat,V$SESSION_EVENT等体现内核发生什么
- 审计命令
- 资源管理器
- Oracle事件:基于oracle事件,能让Oracle生成跟踪与诊断信息
- DBMS_TRACE:记录存储过程的调用树,所产生的异常等
- 数据库事件触发器:如ON SERVERERROR
- SQL_TRACE:sql跟踪工具的扩展,通过10046oracle事件
- 需要跟踪10046事件
- SQL_TRACE=TRUE;
- ALTER SESSION SET EVENTS '10046 trace name context forever,level 12'
- 跟踪文件的位置
- 假如是专用服务器连接方式:在USER_DUMP_DEST参数指定的目录生成的跟踪文件
- 假如是共享服务器连接方式:在BACKGROUND_DUMP_DEST参数跟踪文件的目录
- 通过show parameter 参数名 查看哦
二、跟踪文件命名规则
- 相关的语句生成跟踪文件名
sys@GULL> select c.value || '/' || d.instance_name || '_ora_' || 2 a.spid || '.trc' || 3 case when e.value is not null then '_'||e.value end 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.sid = userenv('sid') 7 and c.name = 'user_dump_dest' 8 and e.name = 'tracefile_identifier'; TRACE ---------------------------------------------------------------------------------------------------- /u01/app/oracle/diag/rdbms/gullstby/gullstby/trace/gullstby_ora_3632.trc sys@GULL> !ls /u01/app/oracle/diag/rdbms/gullstby/gullstby/trace/gullstby_ora_3632.trc ls: /u01/app/oracle/diag/rdbms/gullstby/gullstby/trace/gullstby_ora_3632.trc: No such file or directory sys@GULL> execute dbms_monitor.session_trace_enable PL/SQL 过程已成功完成。 sys@GULL> !ls /u01/app/oracle/diag/rdbms/gullstby/gullstby/trace/gullstby_ora_3632.trc /u01/app/oracle/diag/rdbms/gullstby/gullstby/trace/gullstby_ora_3632.trc sys@GULL> select count(1) from v$lock; COUNT(1) ---------- 39