AWS Database Migration Service
分步迁移指南 (API 版本 2016-01-01)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

将 Amazon RDS Oracle 数据库迁移到 Amazon Aurora MySQL

本演练帮助您开始使用 AWS Database Migration Service 和 AWS Schema Conversion Tool 将异构数据库从 Amazon RDS Oracle 迁移到 Amazon Aurora 与 MySQL 的兼容性。这是一个入门练习,它未涵盖所有方案,但可让您很好地了解执行此类迁移所需的步骤。

了解 AWS DMS 和 AWS SCT 是两种不同的工具并且可满足不同的需求很重要。在迁移过程中,二者之间不会交互。总体来说,此迁移中涉及的步骤是:

  1. 使用 AWS SCT 可以:

    • 运行从 Oracle 到 Aurora MySQL 的转换报告以标识架构转换的问题、限制和所需操作。

    • 在执行数据加载之前,通过 AWS DMS 生成架构脚本并在目标上应用这些脚本。AWS SCT 将为对象 (如过程和视图) 执行必要的代码转换。

  2. 标识和实施针对 AWS SCT 报告的问题的解决方案。例如,可以使用 auto_increment 选项在应用程序层填充序列代理键或开发逻辑,以处理 Amazon Aurora MySQL 中不支持的对象类型,例如,Oracle 序列。

  3. 禁用外键或任何其他可能影响 AWS DMS 数据加载的约束。

  4. AWS DMS 使用“完全加载”方法将数据从源加载到目标。虽然 AWS DMS 在加载期间能够在目标中创建对象,但它将通过简约方式高效迁移数据,因此不会将整个架构结构从源复制到目标。

  5. 执行迁移后活动 (例如,创建附加索引、启用外键以及在应用程序中进行必要更改) 以指向新数据库。

本演练使用一个自定义 AWS CloudFormation 模板为 Oracle 和 Amazon Aurora MySQL 创建 Amazon RDS 数据库实例。然后,该模板使用 SQL 命令脚本将示例架构和数据安装到 Amazon RDS Oracle 数据库实例上,您可以随后将其迁移到 Amazon Aurora MySQL。

本演练大约需要两个小时才能完成。使用 AWS 资源完成本演练的估计成本约为 5.00 USD。请确保在本演练结束时遵循说明来删除资源以避免产生其他费用。

成本

在本演练中,使用 AWS CloudFormation 和 AWS Database Migration Service (AWS DMS) 资源预置 Amazon Relational Database Service (Amazon RDS) 资源。通过配置这些资源,您的 AWS 账户需要按小时付费。AWS Schema Conversion Tool 不会产生任何成本;它作为 AWS DMS 的一部分提供。

虽然在本演练中只需使用最少量的资源,但其中一些资源没有资格享受 AWS 免费套餐。在本演练结束时,您将发现用于删除资源的部分,以避免产生额外费用。完成演练后,立即删除资源。

要估计在 AWS 上运行本演练所需的成本,您可以使用 AWS 简单月度成本结算器。但 AWS DMS 服务尚未集成到该结算器中。下表显示了 AWS DMS 和 Amazon RDS Oracle Standard Edition Two 定价。

AWS 服务

实例类型

存储和 I/O

Amazon RDS Oracle 数据库实例,包含许可证 (Standard Edition Two),单可用区

db.m3.medium

单可用区,10 GB 存储,GP2

Amazon Aurora MySQL 数据库实例

db.r3.large

单可用区,10 GB 存储空间,100 万 I/O

AWS DMS 复制实例

t2.small

包含用于保留复制日志的 50 GB 存储空间

AWS DMS 数据传输

免费 — AWS DMS 和同一可用区中的 RDS 实例中的数据库之间的数据传输是免费的

数据传出

每月第一个 GB 免费

假定您运行本演练的时间为 2 小时,我们估算 AWS 资源的以下价格:

  • 使用 AWS 简单月度成本结算器估算的 Amazon Aurora MySQL + 10 GB 存储定价为 1.78 USD。

  • 按照定价网站上的公式 ($0.226) * 2 小时 + ($0.115) * 10 GB 估算,Amazon RDS Oracle SE2 (已包含许可证) + 10 GB GP2 存储成本为 1.602 美元。

  • 按照定价网站上的公式 ($0.036) * 2 小时估算,带 50 GB GP2 存储的 t2.small 实例的 AWS DMS 服务成本为 0.072 美元。

运行此项目的估计总成本 = $1.78 + $1.602 + $0.072 = $3.454 — 约 5.00 USD。

此定价基于以下假设:

  • 假设传输到 Internet 的数据总量不到 1 GB。前面的定价估算假定与 RDS 和 DMS 服务关联的数据传输和备份费用在免费套餐限制内。

  • Aurora MySQL 数据库占用的存储空间按每 GB 月增量计费,占用的 I/O 按每百万请求增量计费。

  • DMS 和同一可用区中的 RDS 实例的数据库之间的数据传输是免费的。

本页内容: