本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 AWS DMS 和 AWS SCT 将 Oracle 数据库从亚马逊迁移 EC2 到适用于 MariaDB 的亚马逊 RDS
由 Veeranjaneyulu Grandhi (AWS) 和 vinod kumar (AWS) 创建
摘要
此模式将引导您完成将亚马逊弹性计算云 (Amazon EC2) 实例上的 Oracle 数据库迁移到适用于 MariaDB 数据库实例的亚马逊关系数据库服务 (Amazon RDS) 的步骤。此模式使用 AWS Data Migration Service (AWS DMS) 进行数据迁移,使用 AWS Schema Conversion Tool (AWS SCT) 进行架构转换。
与在 Amazon RDS 上使用数据库相比,在 EC2 实例上管理 Oracle 数据库需要更多资源,而且成本更高。 Amazon RDS 可以轻松地在云中设置、操作和扩展关系数据库。Amazon RDS 提供经济实惠、且可调整的容量,同时自动执行耗时管理任务,例如硬件预置、数据库设置、修补和备份。
先决条件和限制
先决条件
一个有效的 Amazon Web Services account。
启动并运行实例和侦听器服务的源 Oracle 数据库。此数据库应处于 ARCHIVELOG 模式。
限制
数据库大小限制:64 TB
产品版本
10.2 及更高版本、11g 直至 12.2、18c 的所有 Oracle 数据库版本。有关支持版本的最新列表,请参阅 AWS 文档中的使用 Oracle 数据库作为 AWS DMS 的源和 AWS SCT 版本表。
Amazon RDS 支持 MariaDB Server Community Server 版本 10.3、10.4、10.5 和 10.6。有关支持版本的最新列表,请参阅 Amazon RDS 文档。
架构
源技术堆栈
EC2 实例上的 Oracle 数据库
目标技术堆栈
Amazon RDS for MariaDB
数据迁移架构

目标架构

工具
AWS Schema Conversion Tool(AWS SCT)通过自动将源数据库架构和大部分数据库代码对象(包括视图、存储过程和功能)转换为与目标数据库兼容的格式,预测异构数据库迁移。使用 AWS SCT 转换数据库架构与代码对象后,您可以使用 AWS DMS 将数据从源数据库迁移至目标数据库,以完成迁移项目。有关更多信息,请参阅 AWS SCT 文档中的使用 Oracle 作为 AWS SCT 的目标。
AWS Database Migration Service (AWS DMS) 可帮助您快速安全地将数据库迁移到 AWS。源数据库可在迁移过程中保持全面运行,从而最大程度地为依赖该数据库的应用程序减少停机时间。AWS DMS 可以在最广泛使用的商用和开源数据库之间迁移数据。AWS DMS 支持同构迁移 (如 Oracle 到 Oracle),也支持不同数据库平台之间的异构迁移(如 Oracle 到 Amazon Aurora,或 Microsoft SQL Server 到 Amazon Aurora)。若要了解有关迁移 Oracle 数据库的更多信息,请参阅 AWS DMS 文档中的使用 Oracle 数据库作为 AWS DMS 的源。
操作说明
Task | 描述 | 所需技能 |
---|---|---|
确定版本和数据库引擎。 | 确定源数据库和目标数据库版本和引擎。 | 数据库管理员、开发人员 |
确定复制实例。 | 确定 AWS DMS 复制实例。 | 数据库管理员、开发人员 |
确定存储要求。 | 确定存储类型与容量。 | 数据库管理员、开发人员 |
识别网络要求。 | 确定网络延迟和带宽。 | 数据库管理员、开发人员 |
确定硬件要求。 | (根据 Oracle 兼容性列表和容量要求)确定源服务器实例和目标服务器实例的硬件要求。 | 数据库管理员、开发人员 |
确定安全要求。 | 确定源数据库和目标数据库的网络访问安全要求。 | 数据库管理员、开发人员 |
安装驱动程序。 | 安装最新 AWS SCT 和 Oracle 驱动程序。 | 数据库管理员、开发人员 |
确定备份策略。 | 数据库管理员、开发人员 | |
确定可用性要求。 | 数据库管理员、开发人员 | |
选择应用程序迁移/切换策略。 | 数据库管理员、开发人员 | |
选择实例类型 | 根据容量、存储和网络功能选择正确的实例类型。 | 数据库管理员、开发人员 |
Task | 描述 | 所需技能 |
---|---|---|
创建虚拟私有云(VPC)。 | 源实例、目标实例和复制实例应位于同一 VPC 和同一可用区(推荐)。 | 开发人员 |
创建安全组。 | 为访问数据库创建必要的安全组。 | 开发人员 |
生成密钥对。 | 生成并配置密钥对。 | 开发人员 |
配置其他资源。 | 配置子网、可用区域和 CIDR 块。 | 开发人员 |
Task | 描述 | 所需技能 |
---|---|---|
启动实 EC2 例。 | 有关说明,请参阅 Amazon EC2 文档。 | 开发人员 |
安装 Oracle 数据库。 | 使用所需的用户和角色在 EC2 实例上安装 Oracle 数据库。 | 数据库管理员 |
按照任务描述中的步骤从 EC2 实例外部访问 Oracle。 |
| 数据库管理员 |
更新 Amazon EC2 公有 DNS。 | EC2 实例重启后,公有 DNS 会发生变化。请务必更新 | 数据库管理员、开发人员 |
配置 EC2 实例安全组。 | 配置 EC2 实例安全组,以便复制实例和所需的客户端可以访问源数据库。 | 数据库管理员、开发人员 |
Task | 描述 | 所需技能 |
---|---|---|
启动 RDS 数据库实例。 | 配置并启动 Amazon RDS for MariaDB 数据库实例。 | 开发人员 |
创建表空间。 | 在 Amazon RDS MariaDB 数据库中创建任何必要表空间。 | 数据库管理员 |
配置安全组。 | 配置实例安全组,以便复制实例和所需客户端访问目标数据库。 | 开发人员 |
Task | 描述 | 所需技能 |
---|---|---|
安装驱动程序。 | 安装最新 AWS SCT 和 Oracle 驱动程序。 | 开发人员 |
连接。 | 输入相应参数,然后连接至源和目标。 | 开发人员 |
生成架构转换报告。 | 生成 AWS SCT 架构转换报告。 | 开发人员 |
根据需要更正代码与架构。 | 对代码和架构(尤其是表空间和引号)进行必要的更正。 | 数据库管理员、开发人员 |
验证架构。 | 加载数据之前验证源和目标上的架构。 | 开发人员 |
Task | 描述 | 所需技能 |
---|---|---|
设置连接属性。 | 对于完全加载和更改数据捕获 (CDC) 或仅作为 CDC,请设置一个额外的连接属性。有关更多信息,请参阅 Amazon RDS 文档。 | 开发人员 |
设置补充日志记录。 | 在源数据库上启用补充日志记录。 | 数据库管理员、开发人员 |
启用存档日志模式。 | 对于完全加载和 CDC(或仅适用于 CDC),请在源数据库上启用存档日志模式。 | 数据库管理员 |
创建并测试端点。 | 创建源端点和目标端点并测试连接。有关更多信息,请参阅 Amazon DMS 文档。 | 开发人员 |
创建复制任务。 | 成功连接端点后,创建复制任务。有关更多信息,请参阅 Amazon DMS 文档。 | 开发人员 |
选择 复制类型。 | 在任务中选择仅 CDC 或完全加载外加 CDC,以捕获仅用于连续复制的更改或完全加载和持续更改。 | 开发人员 |
启动并监视任务。 | 启动复制任务并监控 Amazon CloudWatch 日志。有关更多信息,请参阅 Amazon DMS 文档。 | 开发人员 |
验证数据。 | 验证源数据库和目标数据库中的数据。 | 开发人员 |
Task | 描述 | 所需技能 |
---|---|---|
遵循选定的应用程序迁移策略。 | 数据库管理员、应用程序所有者、开发人员 | |
遵循选定的应用程序割接/切换策略。 | 数据库管理员、应用程序所有者、开发人员 |
Task | 描述 | 所需技能 |
---|---|---|
验证架构与数据。 | 确保在项目结束之前在源和目标中成功验证架构与数据。 | 数据库管理员、开发人员 |
收集指标。 | 收集与迁移时间、手动任务与工具任务的百分比、成本节约等类似标准。 | 数据库管理员、应用程序所有者、开发人员 |
查看文档。 | 查看项目文档和构件。 | 数据库管理员、应用程序所有者、开发人员 |
关闭资源。 | 关闭临时 AWS 资源。 | 数据库管理员、开发人员 |
关闭项目。 | 关闭迁移项目并提供任何反馈。 | 数据库管理员、应用程序所有者、开发人员 |