次に、Oracle を実行している Amazon RDS DB インスタンスへのログ記録に関連する一般的な DBA タスクの実行方法を示します。マネージド型サービスの操作性を実現するために、Amazon RDS では DB インスタンスへのシェルアクセスは提供していません。また、上位の権限を必要とする特定のシステムプロシージャやシステムテーブルへのアクセスが制限されます。
詳細については、「Amazon RDS for Oracle データベースのログファイル」を参照してください。
トピック
強制ログ作成の設定
強制ログ作成モードでは、Oracle はテンポラリテーブルスペースとテンポラリセグメントの変更を除き、すべての変更をデータベースに記録します (NOLOGGING
句は無視されます)。詳細については、Oracle ドキュメントの「FORCE LOGGING モードの指定
強制ログ作成を設定するには、Amazon RDS プロシージャ rdsadmin.rdsadmin_util.force_logging
を使用します。force_logging
プロシージャには以下のパラメータがあります。
パラメータ名 | データ型 | デフォルト | はい | 説明 |
---|---|---|---|---|
|
boolean |
true |
いいえ |
データベースを強制ログ作成モードに設定するには |
次の例では、データベースを強制ログ作成モードに設定します。
EXEC rdsadmin.rdsadmin_util.force_logging(p_enable => true
);
サプリメンタルロギングの設定
補足的なログ記録を有効にすると、LogMiner には、チェーンされた行とクラスター化されたテーブルをサポートするために必要な情報が表示されます。サプリメンタルロギングの詳細については、Oracle ドキュメントの「サプリメンタルロギング
Oracle データベースでは、デフォルトではサプリメンタルロギングが有効になっていません。サプリメンタルロギングを有効/無効にするには、Amazon RDS プロシージャ rdsadmin.rdsadmin_util.alter_supplemental_logging
を使用します。Amazon RDS が Oracle DB インスタンスのアーカイブ REDO ログの保持を管理する方法の詳細については、「アーカイブ REDO ログの保持」を参照してください。
alter_supplemental_logging
プロシージャには以下のパラメータがあります。
パラメータ名 | データ型 | デフォルト | 必須 | 説明 |
---|---|---|---|---|
|
varchar2 |
— |
はい |
サプリメンタルロギングを追加するには |
|
varchar2 |
null |
いいえ |
サプリメンタルロギングのタイプ。有効な値は、 |
次の例では、補足ログを有効にします。
begin
rdsadmin.rdsadmin_util.alter_supplemental_logging(
p_action => 'ADD
');
end;
/
次の例では、すべての固定長の最大サイズの列に対して補足ログを有効にします。
begin
rdsadmin.rdsadmin_util.alter_supplemental_logging(
p_action => 'ADD
',
p_type => 'ALL
');
end;
/
次の例では、プライマリキー列に対して補足ログを有効にします。
begin
rdsadmin.rdsadmin_util.alter_supplemental_logging(
p_action => 'ADD
',
p_type => 'PRIMARY KEY
');
end;
/
オンラインログファイルを切り替える
ログファイルを切り替えるには、Amazon RDS のプロシージャ rdsadmin.rdsadmin_util.switch_logfile
を使用します。switch_logfile
プロシージャにはパラメータはありません。
次の例では、ログファイルを切り替えています。
EXEC rdsadmin.rdsadmin_util.switch_logfile;
オンライン REDO ログの追加
Oracle を実行している Amazon RDS DB インスタンスには、初期から 4 つのオンライン REDO ログ (それぞれ 128 MB) があります。別の REDO ログを追加するには、Amazon RDS プロシージャ rdsadmin.rdsadmin_util.add_logfile
を使用します。
add_logfile
プロシージャには以下のパラメータがあります。
注記
パラメータは相互に排他的です。
パラメータ名 | データ型 | デフォルト | 必須 | 説明 |
---|---|---|---|---|
|
positive |
null |
いいえ |
ログファイルのサイズ (バイト単位)。 このパラメータは、ログのサイズが 2,147,483,648 バイト (2 GiB) 未満の場合にのみ使用します。それ以外の場合、RDS はエラーを発行します。このバイト値を超えるログサイズの場合は、代わりに |
|
varchar2 |
— |
はい |
ログファイルのサイズは、キロバイト (K)、メガバイト (M)、またはギガバイト (G) です。 |
次のコマンドは 100 MB のログファイルを追加します。
EXEC rdsadmin.rdsadmin_util.add_logfile(p_size => '100M
');
オンライン REDO ログの削除
REDO ログを削除するには、Amazon RDS プロシージャ rdsadmin.rdsadmin_util.drop_logfile
を使用します。drop_logfile
プロシージャには以下のパラメータがあります。
パラメータ名 | データ型 | デフォルト | 必須 | 説明 |
---|---|---|---|---|
|
positive |
— |
はい |
ログのグループ番号。 |
次の例では、グループ番号 3 のログを削除します。
EXEC rdsadmin.rdsadmin_util.drop_logfile(grp => 3
);
ステータスが未使用または非アクティブのログのみを削除できます。次の例では、ログのステータスを取得します。
SELECT GROUP#, STATUS FROM V$LOG;
GROUP# STATUS
---------- ----------------
1 CURRENT
2 INACTIVE
3 INACTIVE
4 UNUSED