3

トレースファイルからバインド変数を置き換えて完全なSQLステートメントを取得するにはどうすればよいですか?

設定時

ALTER SESSION SET EVENTS '10046 trace name context forever, level 4';
ALTER SESSION SET sql_trace = true;

結果のトレースファイルには、バインド変数を含むSQLクエリと、バインド変数の解決が別の「BINDS」セクションに含まれています。バインド変数がいくつかある場合、これは問題ありません。100以上のバインド変数がある場合はあまり役に立ちません。

Tkprofはトレースファイルを処理しますが、バインド変数をサポートしていません。

バインド変数を置き換えて完全なSQLステートメントを取得して、簡単にコピーして貼り付けて再実行できるようにすることはできますか?トレースファイルを処理して完全なSQLステートメントを出力する無料のツールはありますか?

代わりにv$sqlとその仲間を使用したSQLトレースなしのソリューションもありがたいです。

4

1 に答える 1

3

バインド変数の実際の値を抽出するには、tkprofの代わりにOracleトレースアナライザを使用する必要があります。http://www.rampant-books.com/art_moore_oracle_trace_analyzer_trcanlzr_sql.htm

トレースアナライザは、将来的にtkprofに取って代わる予定です。

于 2010-07-05T22:49:31.063 に答える