Oracle でトーレスの取得
Oracle でトレースを取得するには「セッション内のみ」と「DB全体」の2つの方法がある。
セッション内のみ
現行セッションでトレースを取る場合は、SQL*Plus 等で接続して以下のSQLを発行する。
SQL> ALTER SESSION SET SQL_TRACE = TRUE; SQL> ALTER SESSION SET TIMED_STATISTICS = TRUE;
別のセッションでトレースを取る場合は、以下のようにする。
SQL> EXEC DBMS_SYSTEM.SET_SQL_TRACE_IN_SESSION(SID, SERIAL#, TRUE);
どちらもトレース取得を停止する場合は、FALSE をセットする。
DB全体
DB全体でトレースを取るには、初期化パラメータファイル(init.ora)に設定を記述する。
timed_statistics = true sql_trace = true
timed_statistics だけなら動的変更が可能。sql_trace は動的変更が不可能なので、データベースを再起動する必要がある。
なお、DB全体でトレースを ON にするとパフォーマンスが落ちるので注意する事。