

# RDS for Oracle レプリカのバックアップの使用
<a name="oracle-read-replicas.backups"></a>

RDS for Oracle レプリカのバックアップを作成および復元できます。自動バックアップと手動スナップショットの両方がサポートされています。詳細については、「[データのバックアップ、復元、エクスポート](CHAP_CommonTasks.BackupRestore.md)」を参照してください。以下のセクションでは、プライマリと RDS for Oracle レプリカのバックアップ管理の主な違いについて説明します。

## RDS for Oracle レプリカのバックアップを有効にする
<a name="oracle-read-replicas.backups.turning-on"></a>

Oracle レプリカでは、デフォルトで自動バックアップが有効になっていません。バックアップ保持期間を 0 以外の正の値に設定することで、自動バックアップを有効にします。

### コンソール
<a name="USER_WorkingWithAutomatedBackups.Enabling.CON"></a>

**自動バックアップをすぐに有効にするには**

1. AWS マネジメントコンソール にサインインし、Amazon RDS コンソール ([https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)) を開きます。

1. ナビゲーションペインで、**[データベース]** を選択し、変更する DB インスタンスまたはマルチ AZ DB クラスターを選択します。

1. **[Modify]** (変更) を選択します。

1. **[バックアップ保持期間]** で、ゼロ以外の正の値 (3 日など) を選択します。

1. [**Continue**] を選択します。

1. **[すぐに適用]** を選択します。

1. **[DB インスタンスの変更]** または **[クラスターの変更]** を選択して変更を保存し、自動バックアップを有効にします。

### AWS CLI
<a name="USER_WorkingWithAutomatedBackups.Enabling.CLI"></a>

自動バックアップを有効にするには、AWS CLI の [modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) コマンドまたは [modify-db-cluster](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-cluster.html) コマンドを使用します。

以下のパラメータを含めます。
+ `--db-instance-identifier` (またはマルチ AZ DB クラスターの場合は `--db-cluster-identifier`)
+ `--backup-retention-period`
+ `--apply-immediately` または `--no-apply-immediately`

次の例では、バックアップ保持期間を 3 日に設定して、自動バックアップを有効にします。変更はすぐに適用されます。

**Example**  
Linux、macOS、Unix の場合:  

```
aws rds modify-db-instance \
    --db-instance-identifier my_db_instance  \
    --backup-retention-period 3 \
    --apply-immediately
```
Windows の場合:  

```
aws rds modify-db-instance ^
    --db-instance-identifier my_db_instance  ^
    --backup-retention-period 3 ^
    --apply-immediately
```

### RDS API
<a name="USER_WorkingWithAutomatedBackups.Enabling.API"></a>

自動バックアップを有効にするには、以下の必須パラメータを指定して RDS API の [ModifyDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html) オペレーションまたは [ModifyDBCluster](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBCluster.html) オペレーションを使用します。
+ `DBInstanceIdentifier`、または `DBClusterIdentifier`
+ `BackupRetentionPeriod`

## RDS for Oracle レプリカのバックアップの復元
<a name="oracle-read-replicas.backups.restoring"></a>

Oracle レプリカのバックアップは、プライマリインスタンスのバックアップを復元する場合と同様に復元できます。詳細については次を参照してください:
+ [DB インスタンスへの復元](USER_RestoreFromSnapshot.md)
+ [Amazon RDS の DB インスタンスを特定の時点に復元する](USER_PIT.md)

レプリカバックアップを復元する際の主な考慮事項は、復元する時点を決定することです。データベースの時刻では、バックアップ時にデータにトランザクションが最後に適用された時刻を参照します。レプリカのバックアップを復元するときは、バックアップが完了した時刻ではなく、データベースの時刻に復元することになります。RDS for Oracle レプリカはプライマリよりも数分または数時間遅れることがあるため、この違いは重大です。このため、レプリカのバックアップのデータベースの時刻、つまり復元する時点は、バックアップ作成時刻よりもはるかに早い場合があります。

データベースの時刻と作成時刻の差を確認するには、`describe-db-snapshots` コマンドを使用します。レプリカのバックアップのデータベース時間である `SnapshotDatabaseTime` と、プライマリデータベースで最後に適用されたトランザクションである `OriginalSnapshotCreateTime` を比較します。次の例は、2 つの時刻の差を示しています。

```
aws rds describe-db-snapshots \
    --db-instance-identifier my-oracle-replica
    --db-snapshot-identifier my-replica-snapshot

{
    "DBSnapshots": [
        {
            "DBSnapshotIdentifier": "my-replica-snapshot",
            "DBInstanceIdentifier": "my-oracle-replica", 
            "SnapshotDatabaseTime": "2022-07-26T17:49:44Z",
            ...
            "OriginalSnapshotCreateTime": "2021-07-26T19:49:44Z"
        }
    ]
}
```