dbms_session、dbms_monitor包-会话跟踪

--跟踪当前会话,相当于10046事件。

  procedure dbms_session.session_trace_enable(waits IN BOOLEAN DEFAULT TRUE,
                                 binds IN BOOLEAN DEFAULT FALSE,
                                 plan_stat IN VARCHAR2 DEFAULT NULL);

  procedure dbms_session.session_trace_disable;
--跟踪其它会话,相当于10046事件。

  PROCEDURE dbms_monitor.session_trace_enable(
    session_id IN BINARY_INTEGER DEFAULT NULL,
    serial_num IN BINARY_INTEGER DEFAULT NULL,
    waits IN BOOLEAN DEFAULT TRUE,
    binds IN BOOLEAN DEFAULT FALSE,
    plan_stat  IN VARCHAR2 DEFAULT NULL);

  PROCEDURE dbms_monitor.session_trace_disable(
    session_id IN BINARY_INTEGER DEFAULT NULL,
    serial_num IN BINARY_INTEGER DEFAULT NULL);
session_id:v$session.sid
serial_num:v$session.serial#
waits:如果为true,将收集等待信息;如果为false,则不收集。
binds:如果为true,将收集绑定变量的信息;如果为false,则不收集。
plan_stat:oracle 11g专有参数,确定在何时收集执行计划每一步的记录数。有效的值包括NEVER、FIRST_EXECUTION或ALL_EXECUTION。
--识别跟踪文件

alter session set tracefile_identifier=ING;

--获取跟踪状态

SQL> SELECT s.sql_trace, s.sql_trace_waits, s.sql_trace_binds,
  2            traceid, tracefile
  3       FROM v$session s JOIN v$process p ON (p.addr = s.paddr)
  4      WHERE audsid = USERENV ('SESSIONID');
 
SQL_TRACE SQL_TRACE_WAITS SQL_TRACE_BINDS TRACEID                       TRACEFILE
--------- --------------- --------------- ------------------ -------------------------------------------------------------------
DISABLED  FALSE           FALSE           ING                /u01/app/diag/rdbms/orcl/orcl/trace/orcl_ora_3397_ING.trc



你可能感兴趣的:(dbms_session、dbms_monitor包-会话跟踪)