Oracle RDSのアラートログとリスナーログを確認で、ログの取得について紹介したので、今回はトレースファイルの内容の取得についてです。
(トレースファイルは、エラーなどの発生状況をより詳細に記録したファイルです)

まずは、下記のように準備します。

SQL> exec rdsadmin.manage_tracefiles.refresh_tracefile_listing;
PL/SQLプロシージャが正常に完了しました。

このようなビューが作成され、

SQL> desc rdsadmin.tracefile_listing;
名前      型                                      
--------  -------------
FILENAME  VARCHAR2(400)
TYPE      VARCHAR2(12)
FILESIZE  NUMBER
MTIME     VARCHAR2(400)

内容は、下記のようになります。

SQL> select FILENAME from rdsadmin.tracefile_listing;
FILENAME
----------------------------
...
alert_SUZLAB.log.2011-07-09
SUZLAB_m000_30430.trc
SUZLAB_j000_19395.trm
...

トレースファイルの内容を確認するには、上記でリスティングしたトレースファイル名を、 下記のように指定してPL/SQLプロシージャを実行し、tracefile_tableをSELECTすることで可能です。

SQL> exec rdsadmin.manage_tracefiles.set_tracefile_table_location('SUZLAB_m000_30430.trc');
PL/SQLプロシージャが正常に完了しました。
SQL> select * from tracefile_table;
TEXT
--------------------------------------------------------------------------------
Trace file /rdsdbdata/log/diag/rdbms/suzlab_a/SUZLAB/trace/SUZLAB_m000_30430.trc
Oracle Database 11g Release 11.2.0.2.0 - 64bit Production
ORACLE_HOME = /rdsdbbin/oracle
System name: Linux
Node name: ip-10-146-1-184
Release: 2.6.18-238.el5xen
Version: #1 SMP Sun Dec 19 14:42:02 EST 2010
Machine: x86_64
VM name: Xen Version: 3.4 (PVM)
Instance name: SUZLAB
Redo thread mounted by this instance: 1
Oracle process number: 28
Unix process pid: 30430, image: oracle@ip-10-146-1-184 (M000)
...

hanganalyze情報が必要な場合は、下記のようにします。

SQL> exec rdsadmin.manage_tracefiles.hanganalyze;
PL/SQLプロシージャが正常に完了しました。
SQL> exec rdsadmin.manage_tracefiles.set_tracefile_table_location('SUZLAB_ora_18585_HANGANALZE.trc');
PL/SQLプロシージャが正常に完了しました。
SQL> select * from tracefile_table;
TEXT
--------------------------------------------------------------------------------
...

systemstate情報が必要な場合は、下記のようにします。

SQL> exec rdsadmin.manage_tracefiles.dump_systemstate;
PL/SQLプロシージャが正常に完了しました。
SQL> exec rdsadmin.manage_tracefiles.set_tracefile_table_location('SUZLAB_ora_18810_SYSTEMSTATE.trc');
PL/SQLプロシージャが正常に完了しました。
SQL> select * from tracefile_table;
TEXT
--------------------------------------------------------------------------------
...

こちらの記事はなかの人(suz-lab)監修のもと掲載しています。
元記事は、こちら