/u01/app/oracle/diag/rdbms/orcl/orcl/log.xml
<msg time='2009-08-21T18:16:51.878+09:00' org_id='oracle' comp_id='rdbms' msg_id='opistr_real:887:3971575317' type='NOTIFICATION' group='startup' level='16' host_id='orasrv1.hogehoge.co.jp' host_addr='10.10.10.10' pid='19993' version='1'> <txt>Starting ORACLE instance (normal) </txt> </msg> <msg time='2009-08-21T18:16:52.270+09:00' org_id='oracle' comp_id='rdbms' msg_id='ksunfy:13802:2937430291' type='NOTIFICATION' group='startup' level='16' host_id='orasrv1.hogehoge.co.jp' host_addr='10.10.10.10' pid='19993'> <txt>LICENSE_MAX_SESSION = 0 </txt> </msg> . . .
しかし、XML 形式のアラート・ログは直接参照してもご覧の通り非常に見にくいです。
この XML 形式のアラート・ログを従来のテキスト形式で参照するには、ADRCI というコマンドライン・インターフェースを使用します。
$ adrci ADRCI: Release 11.1.0.7.0 - Production on 金 8月 21 18:54:44 2009 Copyright (c) 1982, 2007, Oracle. All rights reserved. ADR base = "/u01/app/oracle" adrci>
ADRCI を起動すると、ADRCI プロンプトが表示されますので、SHOW ALERT コマンドを実行します。
adci > show alert ADR Home = /u01/app/oracle/diag/rdbms/orcl/orcl: ************************************************************************* Output the results to file: /tmp/alert_24937_4739_orcl_1.ado 2009-08-21 18:16:51.878000 +09:00 Starting ORACLE instance (normal) LICENSE_MAX_SESSION = 0 LICENSE_SESSIONS_WARNING = 0 Shared memory segment for instance monitoring created Picked latch-free SCN scheme 3 Autotune of undo retention is turned on. IMODE=BR ILAT =42 LICENSE_MAX_USERS = 0 SYS auditing is disabled Starting up ORACLE RDBMS Version: 11.1.0.7.0. Using parameter settings in client-side pfile /u01/app/oracle/admin/orcl/pfile/init.ora on machine orasrv1.hogehoge.co.jp System parameters with non-default values: processes = 150 sessions = 190 nls_language = "JAPANESE" nls_territory = "JAPAN" memory_target = 1024M control_files = "/u01/app/oracle/oradata/orcl/control01.ctl" control_files = "/u01/app/oracle/oradata/orcl/control02.ctl" control_files = "/u01/app/oracle/oradata/orcl/control03.ctl" . . .
SHOW ALERT コマンドを実行すると、エディタが起動し、テキスト形式のアラート・ログが表示されます。
ここで起動するエディタは特に設定していなければ、Linux の場合は vi、Windows の場合は notepad となっているようです。
また、SHOW ALERT コマンドにはいくつかのオプションがあり、これらのオプションを活用することによって、表示するログの内容を絞り込むことができるようになっています。
例)最後の 100 行を表示する。
show alert -tail 100
例)最新のエントリをリアルタイムで監視する。
show alert -tail -f
例)ORA-600 を含むエントリのみを表示する。
show alert -p "MESSAGE_TEXT LIKE '%ORA-600%'"
なお、SHOW ALERT コマンドを実行した際、表示できる ADR ホームが複数ある場合、以下のような選択メニューが表示されるので、この中から表示したいものを選択します。
Choose the alert log from the following homes to view: 1: diag/clients/user_oracle/host_123456789_11 2: diag/tnslsnr/orasrv1/listener 3: diag/rdbms/orcl/orcl Q: to quit Please select option:
diag/clients/~ というのはクライアントのログ(従来の sqlnet.log )、diag/tnslsnr/~ というのはリスナーのログ(従来の listener.log )、diag/rdbms/~ というのはインスタンスのアラート・ログの ADR ホームになります。
※コマンドを実行するたびに ADR ホームを選択するのがわずらわしい場合は、コマンドを実行する前に SET HOMEPATH コマンドで使用する ADR ホームを SET HOMEPATH コマンドを設定しておきます。
set homepath diag/rdbms/orcl/orcl
このことからもわかるように、ADR では Oracle が出力する様々なログを集中管理することができることが大きな利点となっています。
うまく活用できるよう知識を深めておきたいところです。