oracle跟踪文件(1)

一、跟踪文件(Trace file)

  1. 能提供详细的调试信息。服务器故障时,生成一个包含大量诊断信息的跟踪文件。
  2. 开启跟踪SQL_TRACE=TRUE
  3. 几方面体现oracle测量性
    1. V$视图,如v$waitstat,V$SESSION_EVENT等体现内核发生什么
    2. 审计命令
    3. 资源管理器
    4. Oracle事件:基于oracle事件,能让Oracle生成跟踪与诊断信息
    5. DBMS_TRACE:记录存储过程的调用树,所产生的异常等
    6. 数据库事件触发器:如ON SERVERERROR
    7. SQL_TRACE:sql跟踪工具的扩展,通过10046oracle事件
  4. 需要跟踪10046事件
    1. SQL_TRACE=TRUE;
    2. ALTER SESSION SET EVENTS '10046 trace name context forever,level 12'
  5. 跟踪文件的位置
    1. 假如是专用服务器连接方式:在USER_DUMP_DEST参数指定的目录生成的跟踪文件
    2. 假如是共享服务器连接方式:在BACKGROUND_DUMP_DEST参数跟踪文件的目录
    3. 通过show parameter 参数名 查看哦

二、跟踪文件命名规则

  1. 相关的语句生成跟踪文件名
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

 

posted @ 2012-03-01 14:43  gull  Views(667)  Comments(0Edit  收藏  举报