View a markdown version of this page

将 Amazon RDS for Oracle 数据库迁移到另一个 AWS 区域 数据库 AWS 账户 并 AWS DMS 用于持续复制 - AWS 规范指引

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

将 Amazon RDS for Oracle 数据库迁移到另一个 AWS 区域 数据库 AWS 账户 并 AWS DMS 用于持续复制

Durga Prasad Cheepuri 和 Eduardo Valentim,Amazon Web Services

Summary

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

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

先决条件和限制

先决条件

产品版本

架构

源和目标技术堆栈

  • Amazon RDS for Oracle 数据库实例

源 AWS 账户连接至包含源和目标区域的目标 AWS 账户

持续复制架构

通过 VPC 对等连接复制 EC2 实例和 Amazon RDS 的实例上的数据库。

工具

用于一次性完整数据加载的工具

  • Amazon Relational Database Service(Amazon RDS)创建数据库实例的存储卷快照,并备份整个数据库实例而不仅仅是单个数据库。创建数据库快照时,需要识别出将要备份的数据库实例,然后为数据库快照命名,以便稍后从此快照还原。创建快照所用时间因数据库大小而异。由于快照包含整个存储卷,因此,文件(如临时文件)的大小也会影响创建快照所需时间。有关创建数据库快照的信息,请参阅 Amazon RDS 文档中的创建数据库快照

  • AWS Key Management Service (AWS KMS) 为 A mazon RDS 加密创建密钥。 在创建加密数据库实例时,您还可以提供加密AWS KMS密钥的密钥标识符。如果没有指定 AWS KMS 密钥标识符,Amazon RDS 将对您的新数据库实例使用默认加密密钥。AWS KMS 将为您的 AWS 账户创建默认加密密钥。每个 AWS 账户 都有不同的默认加密密钥 AWS 区域。对于这种模式,应使用非默认 AWS KMS 密钥对 Amazon RDS 数据库实例加密。有关使用 AWS KMS 密钥进行 Amazon RDS 加密的更多信息,请参阅 Amazon RDS 文档中的加密 Amazon RDS 资源

用于持续复制的工具

操作说明

Task说明所需技能

准备源 Oracle 数据库实例。

使 Amazon RDS for Oracle 数据库实例在 ARCHIVELOG 模式下运行,然后设置保留期。有关详细信息,请参阅使用 AWS 托管 Oracle 数据库作为源 AWS DMS

数据库管理员

设置源 Oracle 数据库实例的补充日志记录。

为 Amazon RDS for Oracle 数据库实例设置数据库级与表级补充日志记录。有关详细信息,请参阅使用 AWS 托管 Oracle 数据库作为源 AWS DMS

数据库管理员

更新来源账户中的 AWS KMS 密钥政策。

更新源代码中的 AWS KMS 密钥策略 AWS 账户 以允许目标 AWS 账户 使用加密的 Amazon RDS AWS KMS 密钥。有关详细信息,请参阅 AWS KMS 文档

SysAdmin

创建手动拍摄的源数据库实例的 Amazon RDS 数据库快照。

AWS IAM 用户

与目标 AWS 账户共享手动加密的 Amazon RDS 快照。

有关详细信息,请参阅共享数据库快照

AWS IAM 用户
Task说明所需技能

附加策略。

在目标中 AWS 账户,将 AWS Identity and Access Management (IAM) 策略附加到根 IAM 用户,以允许 IAM 用户使用共享 AWS KMS 密钥复制加密的数据库快照。

SysAdmin

切换至源 AWS 区域。

AWS IAM 用户

复制共享快照。

在 Amazon RDS 控制台的快照窗格中,选择与我共享,然后选择共享快照。使用源数据库使用的 AWS KMS 密钥的 Amazon 资源名称 (ARN),将快照复制到与源数据库相同 AWS 区域 的位置。有关详细信息,请参阅复制数据库快照

AWS IAM 用户

切换到目标 AWS 区域,然后创建新 AWS KMS 密钥。

AWS IAM 用户

复制快照。

切换至源 AWS 区域。在 Amazon RDS 控制台的快照窗格中,选择我拥有的,然后选择已复制的快照。使用新目标 AWS 区域 的 AWS KMS 密钥将快照复制到目标 AWS 区域。

AWS IAM 用户

还原快照。

切换到目标 AWS 区域。在 Amazon RDS 控制台的快照窗格中,选择我拥有的。选择复制的快照并将其还原至 Amazon RDS for Oracle 数据库实例。有关详细信息,请参阅从数据库快照恢复

AWS IAM 用户
Task说明所需技能

创建具有适当权限的 Oracle 用户。

创建 Oracle 用户,带将 Oracle 用作 AWS DMS源所需的权限。有关详细信息,请参阅 AWS DMS 文档

数据库管理员

为 Oracle LogMiner 或 Oracle 二进制读取器配置源数据库。

数据库管理员
Task说明所需技能

创建具有适当权限的 Oracle 用户。

创建 Oracle 用户,带将 Oracle 用作 AWS DMS目标所需的权限。有关详细信息,请参阅 AWS DMS 文档

数据库管理员
Task说明所需技能

在目标系统中创建复制实例 AWS 区域。

在目标的 VPC 中创建复制实例 AWS 区域。有关详细信息,请参阅 AWS DMS 文档

AWS IAM 用户

创建具有所需加密的源端点和目标端点并测试连接。

有关详细信息,请参阅 AWS DMS 文档

数据库管理员

创建复制任务。

  1. 对于迁移类型,请选择持续复制。

  2. 对于变更数据捕获 (CDC) 起点,请使用 Amazon RDS 快照进行满载时的 Oracle 系统更改编号 (SCN),或使用全负荷时的时间戳。

  3. 对于 TargetTablePrepMode,选择 DO_NOTHING。如果任务有大型二进制对象(LOB)数据表,请选择受限 LOB 模式,并将最大 LOB 大小设置为表 LOB 数据的最大大小。

  4. 启用日志记录。

  5. 将通过键关联的表分组到单个任务中。如果存在包含大量 LOB 数据的表,且该表与其他表没有关系,请使用前面描述的 LOB 设置为其创建单独的任务。

有关详细信息,请参阅 AWS DMS 文档

IAM 用户

启动和监测任务。

有关详细信息,请参阅 AWS DMS 文档

AWS IAM 用户

如果需要,可以对任务启用验证。

注意,启用验证确实会影响复制的性能。有关详细信息,请参阅 AWS DMS 文档

AWS IAM 用户

相关资源