まずは 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 <フォーマットするトレースファイル> <出力ファイル名>