Gblog

おもにTips

event 10046 (sql trace)

いつのまにか 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 を使ってればいい気がする。