OracleにはSQLチューニングをするため(整形)にtkprofというユーティリティがあります。
実行ファイルは$Oracle_HOME/bin配下に存在します。
tkprofは整形するコマンドで、実際にはSQLのトレースファイルを取得してから、tkprofでファイルを整形します。
SQLトレースを取得するには以下の手順を実行します。(現行セッションでのトレース取得)
sqlplus user/pass@DB識別子
set linesize 2000
set term off
ALTER SESSION SET TIMED_STATISTICS=TRUE;
ALTER SESSION SET SQL_TRACE=TRUE;
@sql
ALTER SESSION SET SQL_TRACE=FALSE;
exit
linesizeを2000にしているのは実行sqlの出力スピードを速めるためにしているだけです。
コマンドファイルから実行する場合は、表示抑制のためにset term offとするのが良いです。
この後、トレースファイルがタイムスタンプ付きで作成されますので、その場所(後述)にカレントディレクトリを移動し、
tkprof ~.trc a.txt explain=ユーザ/パスワード aggregate=no sys=no sort=fchela
というように実行すると、整形されたa.txtというファイルが作成されます。
termについては
こちら を御覧下さい。
linesizeについては
こちら を御覧下さい。