Oracleサーバ上に、SQLの実行履歴を落とす方法

下記の手順で、発行されたSQLとバインド変数のログが出力可能です。
各手順の背景を細かく説明すると長いので、要点だけのメモです。

1.SQLのトレースログを落とす(コのコマンドを実行したセッションに限り有効
    ALTER SESSION SET EVENTS '10046 trace name context forever, level 4';
 
2.適当に何かSQLを実行する
    SELECT * FROM TAB;
 
3.トレースファイルの落ちるディレクトリを調べる。
  (環境によって、user_dump_destかbackground_dump_destのどちらかに落ちる
    select * from v$parameter where name in ( 'user_dump_dest', 'background_dump_dest' );
 
 
4.上記フォルダにトレースログがあることを確認する。
  (複数ある場合はタイムスタンプで判断)
    ORA99999.TRCみたいな感じのファイルになるはず。
 
5.SQLの確認が終わったら、上記1.のSQLを"level 0"で実行しておき、トレースの出力をやめる。

関連記事

コメントを残す

メールアドレスが公開されることはありません。