1 oracle自帶的sql trace程序能夠跟蹤本地sessionsql
sys: alter system set sql_trace = true;對全部會話跟蹤 數據庫
schema: alter session set sql_trace = true; 對某個session 會話跟蹤sql語句後端
用tkprof 來格式化跟蹤文件輸出session
tkprof 輸出內容包括 1 sql 語句 2統計信息 3explain table 執行計劃oracle
2 基於DBMS_MONITOR包來跟蹤會話,這種狀況通常是 ide
這個很經常使用spa
3 DBMS_system包也能夠跟蹤系統中其餘session的sql執行語句xml
dbms_system.set_sql_trace_in_session(sid,serial#,true);進程
dbms_system.set_sql_trace(true)跟蹤本地session事件
4 使用10046事件來實現
運用10046進程sql跟蹤
全局或者session範圍
level 1
level 4 : 1+bind variable
level 8 : 1+wait events
level 12 : 1 +4+8
tkprof 的時候 4,8,12的信息被忽略
全局設定,修改initial文件
event='10046 trace name context forever,level12'
alter system set events
session設定
alter session set events='10046 trace name context forever,level 8';
alter session set events='10046 trace name context off';
以上4中session跟蹤方法,經過dbms_monitor,和dbms_system能夠用來跟蹤其餘指定session的sql,其餘兩個方法都是本地
session或者system級別的跟蹤