--跟踪当前会话,相当于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