いつのまにか level が増えてた・・・。
- level 1 : SQL_TRACE を有効にする。実行計画と実際の実行統計が確認できる。
- level 4 : levle 1 + バインド変数の情報が出力される。
- level 8 : levle 1 + 待機イベントの情報が出力される。
- level 16: level 1 + 実行計画を毎回出力してくれる。
- level 32: level 1 + 実行計画を出力しない。
level 64 もあるようなのですが、ちょっと挙動が謎。ここでは割愛します。
ちなみに、DBMS_MONITOR.SESSION_TRACE_ENABLE との対応は以下。
※ 引数は、session_id, serial_num, waits, binds, plan_stat
- LEVEL 1 :
DBMS_MONITOR.SESSION_TRACE_ENABLE(null,null,FALSE,FALSE); - LEVEL 4 : DBMS_MONITOR.SESSION_TRACE_ENABLE(null,null,FALSE,TRUE,'FIRST_EXECUTION');
- LEVEL 8 : DBMS_MONITOR.SESSION_TRACE_ENABLE(null,null,TRUE,FALSE,'FIRST_EXECUTION');
- LEVEL 16:
DBMS_MONITOR.SESSION_TRACE_ENABLE(null,null,FALSE,FALSE,'ALL_EXECUTION'); - LEVEL 32:
DBMS_MONITOR.SESSION_TRACE_ENABLE(null,null,FALSE,FALSE,'NEVER');
結局、event 10046 level 12 を使ってればいい気がする。