SQL TRACEの取り方
■セッション単位で取得したい場合にはSQL PLUSで次の文を実行したのち、TRACEしたい処理を発行する。
ALTER SESSION SET SQL_TRACE FALSE
■インスタンスが起動している間の実行されたものをTRACEしたい場合は以下のどれかの手順を実行する。
1.SQL PLUSで次のコマンドを実行する。
ALTER SYSTEM SET sql_trace = FALSE SCOPE=MEMORY
2.Enter Prise Manager で初期化パラメータのsql_traceをTrueにする。(SYSDBA権限でログインする必要あり)
3.init.oraファイルのsql_traceを書き換える。
init.oraはD:\Oracle\product\10.2.0\db_1\srvm\adminに格納されている。
上記の処理をしたのちインスタンスを再起動する。(たぶん、必要)
■SQL TRACEで取得した結果の出力先は以下のSQLで確認できる。
SELECT NAME,VALUE
FROMv$parameter
WHERE NAME='user_dump_dest';
■tkprofユーティリティ
SQL TRACEで取得したファイルをみるにはtkprofユーティリティを使うとよいです。
コマンドプロンプトから以下のコマンドを実行する。
tkprof SQLトレース名 出力ファイル名 sys=no explain=ユーザ名/パスワード
例)tkprof D:\Oracle\product\10.2.0\admin\orcl\udump\orcl_ora_3372.trc d:\trace\trace.txt sys=no explain=usr_harada2/pwd_harada2