メニュー
Amazon Relational Database Service
ユーザーガイド (API Version 2014-10-31)

Oracle Database のログファイル

Amazon RDS コンソールまたは API を使用して、Oracle のアラートログ、監査ファイル、トレースファイルにアクセスできます。ファイルベースのデータベースログの表示、ダウンロード、監視の詳細については、「Amazon RDS データベースログファイル」を参照してください。

提供される Oracle の監査ファイルは、標準の Oracle 監査ファイルです。ファイングレイン監査 (FGA) はサポートされた機能ですが、ログアクセスでは、SYS.FGA_LOG$ テーブルに保存された FGA イベントへのアクセスは提供されません。これには、DBA_FGA_AUDIT_TRAIL ビューからアクセスできます。

DB インスタンスの使用可能な Oracle ログファイルを一覧表示する DescribeDBLogFiles API アクションでは、MaxRecords パラメーターが無視され、最大 1,000 件のレコードが返されます。

保持期間スケジュール

Oracle データベースエンジンでは、ログファイルは巨大になるとローテーションされる場合があります。監査ファイルやトレースファイルを保持する場合は、ダウンロードする必要があります。ファイルをローカルに保存すると、Amazon RDS ストレージのコストが減り、データに使用できる領域が増えます。

以下に、Oracle のアラートログ、監査ファイル、トレースファイルの Amazon RDS への保持期間スケジュールを示します。

ログのタイプ 保持期間スケジュール

アラートログ

アラートログのデフォルトの保持期間は 30 日です。Amazon RDS は 30 日を経過したアラートログを削除する場合があります。Oracle では、アラートログは 10 MB を超えるとローテーションされます。その時点で、Amazon RDS のビューからは使用できなくなります。

監査ファイル

監査ファイルのデフォルトの保持期間は 7 日です。Amazon RDS は 7 日を経過した監査ファイルを削除する場合があります。

トレースファイル

トレースファイルのデフォルトの保持期間は 7 日です。Amazon RDS は 7 日を経過したトレースファイルを削除する場合があります。

オンラインログファイルを切り替える

Amazon RDS の手順 rdsadmin.rdsadmin_util.switch_logfile を使用して、オンラインログファイルを切り替えることができます。詳細については、「オンラインログファイルを切り替える」を参照してください。

アーカイブ REDO ログを取得する

Oracle バージョン 11.2.0.2.v7 以降では、アーカイブされた REDO ログの保持をサポートしています。詳細については、「アーカイブされた REDO ログの保持」を参照してください。

Oracle トレースファイルを使用する

このセクションでは、トレースファイルを作成、更新、アクセス、削除する Amazon RDS 固有の手順について説明します。

ファイルを一覧表示する

2 つの方法で background_dump_dest 内の任意のファイルにアクセスできます。最初の方法では、background_dump_dest 内の最新のファイルのリストをすべて含むビューを更新します。

Copy
exec rdsadmin.manage_tracefiles.refresh_tracefile_listing;

ビューが更新されたら、以下のビューを使用して結果にアクセスします。

Copy
rdsadmin.tracefile_listing

2 つ目の方法 (バージョン 11.2.0.2 では使用不可) では、「from table」を使用し、表のデータではないデータを表のような形式でストリーミングして、DB ディレクトリの内容を一覧表示します。

Copy
SELECT * FROM table(rdsadmin.rds_file_util.listdir('BDUMP'));

以下のクエリでは、ログファイルのテキストを表示しています。

Copy
SELECT text FROM table(rdsadmin.rds_file_util.read_text_file('BDUMP','alert_xxx.log'));

トレースファイルとトレースセッションを生成する

alter session には制限がないことから、Oracle でトレースファイルを生成するための多くの標準的な方法は、Amazon RDS DB インスタンスにも使用できます。以下に、より高度なアクセス許可の必要なトレースファイル用の手順を示します。

Oracle での方法 Amazon RDS での方法

oradebug hanganalyze 3

exec rdsadmin.manage_tracefiles.hanganalyze;

oradebug dump systemstate 266

exec rdsadmin.manage_tracefiles.dump_systemstate;

Amazon RDS の Oracle DB インスタンスに接続する個々のセッションをトレースするには、複数の方法を使用できます。セッションのトレースを有効にするには、DBMS_SESSION や DBMS_MONITOR パッケージなど、Oracle が提供する PL/SQL パッケージのサブプログラムを実行できます。詳細については、Oracle ドキュメントの Enabling Tracing for a Session を参照してください。

トレースファイルを取得する

Amazon RDS で管理される外部テーブルの標準的な SQL クエリを使用して、background_dump_dest 内の任意のトレースファイルを取得できます。この方法を使用するには、このテーブルの場所として特定のトレースファイルを設定するプロシージャを実行する必要があります。

たとえば、上述の rdsadmin.tracefile_listing ビューを使用して、システムのすべてのトレースファイルを一覧表示できます。その後、以下のプロシージャを使用して、目的のトレースファイルを参照するように tracefile_table ビューを設定できます。

Copy
exec rdsadmin.manage_tracefiles.set_tracefile_table_location('CUST01_ora_3260_SYSTEMSTATE.trc');

以下の例では、外部テーブルを最新のスキーマで作成し、このテーブルの場所として特定のファイルを設定しています。その内容は、SQL クエリを使用してローカルファイルに取得できます。

Copy
# eg: send the contents of the tracefile to a local file: sqlplus user/password@TNS alias << EOF > /tmp/tracefile.txt select * from tracefile_table; EOF

トレースファイルを消去する

トレースファイルが蓄積されて、ディスク領域を消費することがあります。Amazon RDS では、7 日を経過したトレースファイル (デフォルト) とログファイルは消去されます。show_configuration プロシージャを使用してトレースファイルの保持期間を表示および設定できます。設定の結果を表示できるように、コマンド SET SERVEROUTPUT ON を実行する必要があります。

以下の例では、現在のトレースファイルの保持期間を表示し、新しいトレースファイルの保持期間を設定しています。

Copy
# Show the current tracefile retention SQL> exec rdsadmin.rdsadmin_util.show_configuration; NAME:tracefile retention VALUE:10080 DESCRIPTION:tracefile expiration specifies the duration in minutes before tracefiles in bdump are automatically deleted. # Set the tracefile retention to 24 hours: SQL> exec rdsadmin.rdsadmin_util.set_configuration('tracefile retention',1440); #show the new tracefile retention SQL> exec rdsadmin.rdsadmin_util.show_configuration; NAME:tracefile retention VALUE:1440 DESCRIPTION:tracefile expiration specifies the duration in minutes before tracefiles in bdump are automatically deleted.

定期的な消去プロセスに加えて、background_dump_dest から手動でファイルを削除することもできます。以下の例では、5 分を経過したすべてのファイルを消去しています。

Copy
exec rdsadmin.manage_tracefiles.purge_tracefiles(5);

特定のパターンと一致するすべてのファイルを消去することもできます (.trc などのファイル拡張子を含めないでください)。次の例は、SCHPOC1_ora_5935 で始まるすべてのファイルを消去する方法を示しています。

Copy
exec rdsadmin.manage_tracefiles.purge_tracefiles('SCHPOC1_ora_5935');

アラートログとリスナーログにアクセスするための以前の方法

Amazon RDS コンソールを使用してアラートログを表示できます。次の SQL ステートメントを使用してアラートログにアクセスすることもできます。

Copy
select message_text from alertlog;

リスナーログにアクセスするには、次の SQL ステートメントを使用します。

Copy
select message_text from listenerlog;

注記

Oracle では、アラートログとリスナーログは 10 MB を超えるとローテーションされます。その時点で、Amazon RDS のビューからは使用できなくなります。

関連トピック