

# アーカイブ REDO ログの保持
<a name="Appendix.Oracle.CommonDBATasks.RetainRedoLogs"></a>

アーカイブ REDO ログを、Oracle LogMiner (`DBMS_LOGMNR`) などの製品で使用できるように DB インスタンスにローカルで保持できます。REDO ログを保持した後、LogMiner を使用してログを分析できます。詳細については、Oracle ドキュメントの「[LogMiner を使用した REDO ログファイルの分析](http://docs.oracle.com/cd/E11882_01/server.112/e22490/logminer.htm)」を参照してください。

アーカイブされた REDO ログを保持するには、Amazon RDS プロシージャ `rdsadmin.rdsadmin_util.set_configuration` を使用します。この手順を Oracle Data Guard のプライマリインスタンスで使用すると、RDS はプライマリインスタンスとオープンリードレプリカでのアーカイブログ保持設定を変更しますが、マウントされたレプリカでは変更しません。RDS は、マウントされたレプリカに最新のアーカイブ REDO ログを短期間保持します。RDS は、マウントされたレプリカにダウンロードされた古いログを自動的に削除します。

`set_configuration` プロシージャには以下のパラメータがあります。


****  

| パラメータ名 | データ型 | デフォルト | 必須 | 説明 | 
| --- | --- | --- | --- | --- | 
|  `name`  |  varchar  |  —  |  はい  |  更新する設定の名前。アーカイブ REDO ログの保持時間を変更するには、名前を `archivelog retention hours` に設定します。  | 
|  `value`  |  varchar  |  —  |  はい  |  設定の値。値をログを保持する時間数に設定します。  | 

次の例では、24 時間分の REDO ログを保持します。

```
begin
    rdsadmin.rdsadmin_util.set_configuration(
        name  => 'archivelog retention hours',
        value => '24');
end;
/
commit;
```

**注記**  
変更を反映するにはコミットが必要です。

アーカイブ REDOログが DB インスタンスに保持される期間を表示するには、Amazon RDS プロシージャ `rdsadmin.rdsadmin_util.show_configuration` を使用します。

次の例は、ログの保持時間を示しています。

```
set serveroutput on
EXEC rdsadmin.rdsadmin_util.show_configuration;
```

出力は、`archivelog retention hours` の現在の設定を示します。次の出力は、アーカイブ REDO ログを 48 時間保持することを示しています。

```
NAME:archivelog retention hours
VALUE:48
DESCRIPTION:ArchiveLog expiration specifies the duration in hours before archive/redo log files are automatically deleted.
```

アーカイブ REDO ログは、DB インスタンス上に保持されるので、DB インスタンスにログ用の十分な割り当て済みストレージがあることを確認します。DB インスタンスが過去 X 時間に使用した容量を調べるには、次のクエリを実行できます。X は時間数に置き換えます。

```
SELECT SUM(BLOCKS * BLOCK_SIZE) bytes 
  FROM V$ARCHIVED_LOG
 WHERE FIRST_TIME >= SYSDATE-(X/24) AND DEST_ID=1;
```

DB インスタンスのバックアップ保持期間にゼロより大きな値が設定されている場合のみ、RDS for Oracle がアーカイブ REDO ログを生成します。デフォルトでは、バックアップ保持期間は 0 より大きな値になっています。

アーカイブされたログの保持期間が終了すると、RDS for Oracle はアーカイブされた REDO ログを、DB インスタンスから削除します。DB インスタンスを特定の時点の状態に復元できるようにするために、Amazon RDS は、アーカイブされた REDO ログを、バックアップ保持期間に基づいて DB インスタンスの外部に保持します。バックアップ保持期間の変更方法については、「[Amazon RDS DB インスタンスを変更する](Overview.DBInstance.Modifying.md)」を参照してください。

**注記**  
アーカイブ REDO ログをダウンロードするために JDBC を Linux で使用している場合、レイテンシー時間と接続のリセットが長くなることがあります。このような場合、原因は Java クライアントの乱数ジェネレーターのデフォルト設定にある可能性があります。ブロックしない乱数ジェネレーターを使用するように JDBC ドライバを設定することをお勧めします。