まずは SQL トレースを取得するための準備
SQL トレースの取得、TKPROF ユーティリティの変換方法を紹介する。
(1) 初期化パラメータの確認
トレース取得前に以下の関連パラメータの設定を確認する。
user_dump_dest、max_dump_file_size、timed_statistics
user_dump_dest
SQL> show parameter user_dump_dest
→ トレースファイルの出力先ディレクトリ
max_dump_file_size
SQL> show parameter max_dump_file_size
→ トレースファイルの最大サイズ
※ セッション単位で有効とする場合
alter session set max_dump_file_size = サイズ[ K | M ] | unlimited ;
timed_statistics
SQL> show parameter timed_statistics
→ true が設定されていることを確認(CPU 時間などの計測に必要)
※ セッション単位で有効とする場合
alter session set timed_statistics = true;
(2) SQL トレースを有効にする
セッション単位
alter session set sql_trace = true ;
システム単位
alter system set sql_trace = true ;
オーバーヘッドが増加するので、トレースはセッション単位での指定を推奨。
(3) チューニング対象の SQL を実行、トレース確認
SQL を実行し、user_dump_dest パラメータのディレクトリに
トレースファイルが出力されていることを確認する。
ファイル名は、インスタンス名_ora_プロセス番号.trc。
(4) SQL トレースを無効にする
セッション単位
alter session set sql_trace = false ;
システム単位
alter system set sql_trace = false ;
(5) TKPROF ユーティリティ
出力されたトレースファイルは、そのままでは判読が困難なので、
TKPROF ユーティリティで変換する。
tkprof の実行
tkprof <フォーマットするトレースファイル> <出力ファイル名>