

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 将 Amazon RDS for Oracle 数据库迁移到另一个 AWS 区域 数据库 AWS 账户 并 AWS DMS 用于持续复制
<a name="migrate-an-amazon-rds-for-oracle-database-to-another-aws-account-and-aws-region-using-aws-dms-for-ongoing-replication"></a>

*Durga Prasad Cheepuri 和 Eduardo Valentim，Amazon Web Services*

## Summary
<a name="migrate-an-amazon-rds-for-oracle-database-to-another-aws-account-and-aws-region-using-aws-dms-for-ongoing-replication-summary"></a>


| 
| 
| 警告：IAM 用户具有长期凭证，这会带来安全风险。为帮助减轻这种风险，我们建议仅向这些用户提供执行任务所需的权限，并在不再需要这些用户时将其移除。 | 
| --- |

此模式将引导您完成将适用于 Oracle 的亚马逊关系数据库服务 (Amazon RDS) 源数据库迁移到其他 AWS 账户 和的步骤 AWS 区域。该模式使用数据库快照进行一次性完整数据加载，并启用 AWS Database Migration Service (AWS DMS) 进行持续复制。

## 先决条件和限制
<a name="migrate-an-amazon-rds-for-oracle-database-to-another-aws-account-and-aws-region-using-aws-dms-for-ongoing-replication-prereqs"></a>

**先决条件**
+  AWS 账户 包含源 Amazon RDS for Oracle 数据库的活动，该数据库已使用非默认 AWS Key Management Service (AWS KMS) 密钥进行加密
+ 在与源数据库不同的 AWS 区域 数据库 AWS 账户 中处于活动状态，用于目标 Amazon RDS for Oracle 数据库
+ 源和目标之间的虚拟私有云 (VPC) 对等 VPCs
+ 熟悉[使用 Oracle 数据库作为数据源 AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html)
+ 熟悉[使用 Oracle 数据库作为目标 AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Oracle.html) 

**产品版本**
+ Oracle 版本 11g（版本 11.2.0.3.v1 及更高版本）以及最高版本 12.2 和 18c。有关支持的版本和版本的最新列表，请参阅 AWS 文档 AWS DMS中的 “[使用 Oracle 数据库作为源 AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html)以及[使用 Oracle 数据库作为目标](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Oracle.html)”。有关 Amazon RDS 支持的 Oracle 版本，请参阅 [Oracle on Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Oracle.html)。

## 架构
<a name="migrate-an-amazon-rds-for-oracle-database-to-another-aws-account-and-aws-region-using-aws-dms-for-ongoing-replication-architecture"></a>

**源和目标技术堆栈**
+ Amazon RDS for Oracle 数据库实例

![\[源 AWS 账户连接至包含源和目标区域的目标 AWS 账户\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/images/pattern-img/5ecd5359-884e-455c-b5d0-ef08eda2ea1f/images/e17fa7fe-d924-4f35-9707-b93572fa1227.png)


**持续复制架构**

![\[通过 VPC 对等连接复制 EC2 实例和 Amazon RDS 的实例上的数据库。\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/images/pattern-img/5ecd5359-884e-455c-b5d0-ef08eda2ea1f/images/b60b3500-5d29-487a-bbab-0ae9f3f386aa.png)


## 工具
<a name="migrate-an-amazon-rds-for-oracle-database-to-another-aws-account-and-aws-region-using-aws-dms-for-ongoing-replication-tools"></a>

**用于一次性完整数据加载的工具**
+ [Amazon Relational Database Service（Amazon RDS）](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html)创建数据库实例的存储卷快照，并备份整个数据库实例而不仅仅是单个数据库。创建数据库快照时，需要识别出将要备份的数据库实例，然后为数据库快照命名，以便稍后从此快照还原。创建快照所用时间因数据库大小而异。由于快照包含整个存储卷，因此，文件（如临时文件）的大小也会影响创建快照所需时间。有关创建数据库快照的信息，请参阅 Amazon RDS 文档中的[创建数据库快照](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateSnapshot.html)。
+ [AWS Key Management Service (AWS KMS)](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) 为 A ********mazon RDS**** 加密创建密钥。 在创建加密数据库实例时，您还可以提供加密[AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html)密钥的密钥标识符。如果没有指定 [AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) 密钥标识符，Amazon RDS 将对您的新数据库实例使用默认加密密钥。[AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) 将为您的 AWS 账户创建默认加密密钥。每个 AWS 账户 都有不同的默认加密密钥 AWS 区域。对于这种模式，应使用非默认 [AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) 密钥对 Amazon RDS 数据库实例加密。有关使用 [AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) 密钥进行 Amazon RDS 加密的更多信息，请参阅 Amazon RDS 文档中的[加密 Amazon RDS 资源](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Overview.Encryption.html)。

**用于持续复制的工具**
+ [AWS Database Migration Service (AWS DMS)](https://docs.aws.amazon.com/dms/latest/userguide/Welcome.html) 用于复制正在进行的更改以及使源数据库和目标数据库保持同步。有关使用进行持续复制 AWS DMS 的更多信息，请参阅 AWS DMS 文档中的[使用 AWS DMS 复制实例](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.html)。

## 操作说明
<a name="migrate-an-amazon-rds-for-oracle-database-to-another-aws-account-and-aws-region-using-aws-dms-for-ongoing-replication-epics"></a>

### 配置您的来源 AWS 账户
<a name="configure-your-source-aws-account"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 准备源 Oracle 数据库实例。 | 使 Amazon RDS for Oracle 数据库实例在 ARCHIVELOG 模式下运行，然后设置保留期。有关详细信息，请参阅[使用 AWS 托管 Oracle 数据库作为源 AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.Amazon-Managed)。 | 数据库管理员 | 
| 设置源 Oracle 数据库实例的补充日志记录。 | 为 Amazon RDS for Oracle 数据库实例设置数据库级与表级补充日志记录。有关详细信息，请参阅[使用 AWS 托管 Oracle 数据库作为源 AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.Amazon-Managed)。 | 数据库管理员 | 
| 更新来源账户中的 AWS KMS 密钥政策。 | 更新源代码中的 AWS KMS 密钥策略 AWS 账户 以允许目标 AWS 账户 使用加密的 Amazon RDS AWS KMS 密钥。有关详细信息，请参阅 [AWS KMS 文档](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying.html#key-policy-modifying-external-accounts)。 | SysAdmin | 
| 创建手动拍摄的源数据库实例的 Amazon RDS 数据库快照。 |  | AWS IAM 用户 | 
| 与目标 AWS 账户共享手动加密的 Amazon RDS 快照。 | 有关详细信息，请参阅[共享数据库快照](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ShareSnapshot.html)。 | AWS IAM 用户 | 

### 配置你的目标 AWS 账户
<a name="configure-your-target-aws-account"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 附加策略。 | 在目标中 AWS 账户，将 AWS Identity and Access Management (IAM) 策略附加到根 IAM 用户，以允许 IAM 用户使用共享 AWS KMS 密钥复制加密的数据库快照。 | SysAdmin | 
| 切换至源 AWS 区域。 |  | AWS IAM 用户 | 
| 复制共享快照。 | 在 Amazon RDS 控制台的**快照**窗格中，选择**与我共享**，然后选择共享快照。使用源数据库使用的 AWS KMS 密钥的 Amazon 资源名称 (ARN)，将快照复制到与源数据库相同 AWS 区域 的位置。有关详细信息，请参阅[复制数据库快照](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CopySnapshot.html)。 | AWS IAM 用户 | 
| 切换到目标 AWS 区域，然后创建新 AWS KMS 密钥。 |  | AWS IAM 用户 | 
| 复制快照。 | 切换至源 AWS 区域。在 Amazon RDS 控制台的**快照**窗格中，选择**我拥有的**，然后选择已复制的快照。使用新目标 AWS 区域 的 AWS KMS 密钥将快照复制到目标 AWS 区域。 | AWS IAM 用户 | 
| 还原快照。 | 切换到目标 AWS 区域。在 Amazon RDS 控制台的**快照**窗格中，选择**我拥有的**。选择复制的快照并将其还原至 Amazon RDS for Oracle 数据库实例。有关详细信息，请参阅[从数据库快照恢复](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_RestoreFromSnapshot.html)。 | AWS IAM 用户 | 

### 为持续进行的复制准备源数据库
<a name="prepare-your-source-database-for-ongoing-replication"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 创建具有适当权限的 Oracle 用户。 | 创建 Oracle 用户，带将 Oracle 用作 AWS DMS源所需的权限。有关详细信息，请参阅 [AWS DMS 文档](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html)。 | 数据库管理员 | 
| 为 Oracle LogMiner 或 Oracle 二进制读取器配置源数据库。 |  | 数据库管理员 | 

### 为持续复制准备目标数据库
<a name="prepare-your-target-database-for-ongoing-replication"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 创建具有适当权限的 Oracle 用户。 | 创建 Oracle 用户，带将 Oracle 用作 AWS DMS目标所需的权限。有关详细信息，请参阅 [AWS DMS 文档](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Oracle.html#CHAP_Target.Oracle.Privileges)。 | 数据库管理员 | 

### 创建 AWS DMS 组件
<a name="create-dms-components"></a>


| Task | 说明 | 所需技能 | 
| --- | --- | --- | 
| 在目标系统中创建复制实例 AWS 区域。 | 在目标的 VPC 中创建复制实例 AWS 区域。有关详细信息，请参阅 [AWS DMS 文档](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html#CHAP_GettingStarted.ReplicationInstance)。 | AWS IAM 用户 | 
| 创建具有所需加密的源端点和目标端点并测试连接。 | 有关详细信息，请参阅 [AWS DMS 文档](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html#CHAP_GettingStarted.Endpoints)。 | 数据库管理员 | 
| 创建复制任务。 | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/patterns/migrate-an-amazon-rds-for-oracle-database-to-another-aws-account-and-aws-region-using-aws-dms-for-ongoing-replication.html)有关详细信息，请参阅 [AWS DMS 文档](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html#CHAP_GettingStarted.Tasks)。 | IAM 用户 | 
| 启动和监测任务。 | 有关详细信息，请参阅 [AWS DMS 文档](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Monitoring.html)。 | AWS IAM 用户 | 
| 如果需要，可以对任务启用验证。 | 注意，启用验证确实会影响复制的性能。有关详细信息，请参阅 [AWS DMS 文档](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Validating.html)。 | AWS IAM 用户 | 

## 相关资源
<a name="migrate-an-amazon-rds-for-oracle-database-to-another-aws-account-and-aws-region-using-aws-dms-for-ongoing-replication-resources"></a>
+ [更改密钥策略](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying.html#key-policy-modifying-external-accounts)
+ [创建手动 Amazon RDS 数据库快照](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateSnapshot.html)
+ [共享手动 Amazon RDS 数据库快照](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_ShareSnapshot.html)
+ [复制快照](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CopySnapshot.html) 
+ [从 Amazon RDS 数据库快照还原](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_RestoreFromSnapshot.html) 
+ [入门 AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_GettingStarted.html) 
+ [使用 Oracle 数据库作为来源 AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html) 
+ [使用 Oracle 数据库作为目标 AWS DMS](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.Oracle.html) 
+ [AWS DMS 使用 VPC 对等互连进行设置](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_ReplicationInstance.VPC.html#CHAP_ReplicationInstance.VPC.Configurations.ScenarioVPCPeer) 
+ [如何与其他 AWS 账户共享手动 Amazon RDS 数据库快照或者数据库集群快照？](https://aws.amazon.com/premiumsupport/knowledge-center/rds-snapshots-share-account/) （AWS Knowledge Center 文章） 