

# 使用 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 副本在原定设置情况下开启自动备份。您可以将备份保留期设置为非零正值来开启自动备份。

### 控制台
<a name="USER_WorkingWithAutomatedBackups.Enabling.CON"></a>

**立即启用自动备份**

1. 登录 AWS 管理控制台 并通过以下网址打开 Amazon RDS 控制台：[https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)。

1. 在导航窗格中，选择**数据库**，然后选择要修改的数据库实例或多可用区数据库集群。

1. 选择 **Modify**(修改)。

1. 对于**备份保留期**，请选择非零正值，例如三天。

1. 选择 **Continue (继续)**。

1. 选择**立即应用**。

1. 选择**修改数据库实例**或**修改集群**以保存更改并启用自动备份。

### 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`（或 `--db-cluster-identifier` 用于可用区数据库集群）
+ `--backup-retention-period`
+ `--apply-immediately` 或者 `--no-apply-immediately`

在以下示例中，启用了自动备份并将备份保留期设置为三天。更改将立即应用。

**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 副本备份，就像还原主实例的备份一样。有关更多信息，请参阅下列内容：
+ [还原到数据库实例](USER_RestoreFromSnapshot.md)
+ [将 Amazon RDS 的数据库实例还原到指定时间](USER_PIT.md)

还原副本备份时的主要注意事项是确定要还原到的时间点。数据库时间指备份中数据的最新应用的事务时间。还原副本备份时，将还原到数据库时间，而不是备份完成的时间。差异很大，因为 RDS for Oracle 副本可能会落后于主数据库几分钟或几小时。因此，副本备份的数据库时间以及还原到的时间点可能比备份创建时间早得多。

要查找数据库时间和创建时间之间的差异，请使用 `describe-db-snapshots` 命令。比较 `SnapshotDatabaseTime`（这是副本备份的数据库时间）与 `OriginalSnapshotCreateTime` 字段（这是主数据库上最新应用的事务）。以下示例显示了两个时间之间的差异：

```
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"
        }
    ]
}
```