アラートログとトレースファイル

この記事ではアラートログとトレースファイルについて解説します。

 アラートログとは

アラートログとはデータベースの操作で発生したエラーメッセージが記録されるログファイルです。

1インスタンスにつきログファイルは1つだけ存在し、すべてのスレッドが情報を書き込みます。

アラートログにはエラーメッセージ以外にも構成変更などの情報も記録されます。

アラートログに記録される情報は重要なので、運用中の定期監視やトラブル発生時の確認に利用されます。

ファイルは増大し続けるので定期的に退避するなどの処理が必要です。

インスタンス起動中にファイルを削除、移動しても自動的に新しくログファイルは生成されるため問題ありません。


 トレースファイルとは

トレースファイルはエラーの情報をより詳細に記録したファイルです。

トレースファイルはプロセスごとに生成されます。

各プロセスごとに「.trc」と「.trm」という拡張子のファイルが一対一で生成されます。

「.trm」ファイルはADRCIのようなツールを使用するためのファイルになります。

アラートログにはエラー情報とともにその情報が記載されたトレースファイル名も併せて記録されています。

そのためトラブル発生時には、まずはアラートログを確認し、その情報からトレースファイルを確認するという流れになります。

トレースファイルも増大し続けるため、定期的なファイル退避が必要になります。

トレースファイルはプロセスが稼働中に退避してしまうとログが出力されなくなってしまうので注意が必要です。


 ファイルの場所の確認方法

アラートログ、トレースファイルの格納場所は下記のSQLで確認することができます。

SQL> select name, value from v$diag_info;

NAME                  VALUE
--------------------- -------------------------------------------------------------------
Diag Enabled          TRUE
ADR Base              C:\APP\XXXXXX\PRODUCT\21C
ADR Home              C:\APP\XXXXXX\PRODUCT\21C\diag\rdbms\xe\xe
Diag Trace            C:\APP\XXXXXX\PRODUCT\21C\diag\rdbms\xe\xe\trace
Diag Alert            C:\APP\XXXXXX\PRODUCT\21C\diag\rdbms\xe\xe\alert
Diag Incident         C:\APP\XXXXXX\PRODUCT\21C\diag\rdbms\xe\xe\incident
Diag Cdump            C:\app\xxxxxx\product\21c\diag\rdbms\xe\xe\cdump
Health Monitor        C:\APP\XXXXXX\PRODUCT\21C\diag\rdbms\xe\xe\hm
Default Trace File    C:\APP\XXXXXX\PRODUCT\21C\diag\rdbms\xe\xe\trace\xe_ora_16680.trc
Active Problem Count  0
Active Incident Count 0
ORACLE_HOME           C:\app\xxxxxx\product\21c\dbhomeXE
Attention Log         C:\APP\XXXXXX\PRODUCT\21C\diag\rdbms\xe\xe\trace\attention_xe.log

13行が選択されました。

NAMEが「Diag Trace」のVALUE「C:\APP\XXXXXX\PRODUCT\21C\diag\rdbms\xe\xe\trace」にアラートログ、トレースファイルともに生成されます。

アラートログは「Diag Alert」で示されている場所にもXML形式で出力されます。

アラートログを確認するときは 「Diag Trace」に格納されているファイルがテキスト形式で見やすいのでおすすめです。