SQL TRACE


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



参考にしたサイト
http://pro1972.fc2web.com/oracle/base/tkprof3.html