选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

从 Oracle 版亚马逊RDS迁移到 Amazon f RDS or My SQL - AWS Prescriptive Guidance

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

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

从 Oracle 版亚马逊RDS迁移到 Amazon f RDS or My SQL

由 Jitender Kumar (AWS)、Neha Sharma () 和 Srini Ramaswamy (AWS) 创作 AWS

摘要

此模式为将适用于 Oracle 的亚马逊关系数据库服务 (AmazonRDS) 数据库实例迁移到 Amazon Web Services 上的 Ama RDS zon for SQL My 数据库实例提供了指导 (AWS)。该模式使用 AWS Database Migration Service (AWSDMS) 和 AWS Schema Conversion Tool (AWSSCT)。 

该模式提供了处理存储过程迁移的最佳实践。它还涵盖了为支持应用程序层而进行的代码更改。

先决条件和限制

先决条件

  • 一个活动的 AWS 账户。

  • Amazon RDS for Oracle 源数据库。

  • Amazon RDS for My 的SQL目标数据库。源数据库和目标数据库应位于同一个虚拟私有云中 (VPC)。如果您使用多个VPCs,或者您必须拥有所需的访问权限。

  • 允许在源数据库和目标数据库AWSSCT、应用程序服务器和之间建立连接的安全组AWSDMS。

  • 具有在源数据库AWSSCT上运行所需权限的用户帐户。

  • 为在源数据库AWSDMS上运行启用了补充日志。

限制

  • 源和目标 Amazon RDS 数据库的大小限制为 64 TB。有关 Amazon 的RDS尺码信息,请参阅AWS文档

  • Oracle 对数据库对象不区分大小写,但 My 不区分SQL大小写。 AWSSCT可以在创建对象时处理这个问题。但是,需要一些手动操作才能支持完全不区分大小写。

  • 此迁移不使用 “我的SQL扩展” 来启用 Oracle 原生功能。 AWSSCT处理大部分转换,但需要做一些工作才能手动更改代码。

  • 需要在应用程序中更改 Java 数据库连接 (JDBC) 驱动程序。

产品版本

  • RDS适用于甲骨文 12.2.0.1 及更高版本的亚马逊。有关当前支持RDS的 Oracle 版本,请参阅AWS文档

  • 亚马逊RDS适用于我的 SQL 8.0.15 及更高版本。有关 “我的SQL版本” 当前支持的RDS内容,请参阅AWS文档

  • AWSDMS版本 3.3.0 及更高版本。有关AWSDMS支持的源端点和目标端点的更多信息,请参阅AWS文档。

  • AWSSCT版本 1.0.628 及更高版本。 请参阅AWS文档中的AWSSCT源端点和目标端点支持矩阵

架构

源技术堆栈

目标技术堆栈

迁移架构

在下图中,从 Amazon RDS for Oracle 源数据库中AWSSCT复制和转换架构对象,并将这些对象发送到 Amazon f RDS or My SQL 目标数据库。 AWSDMS复制源数据库中的数据并将其发送到 Amazon RDS for My SQL 实例。

AWSSCTAWSDMS、和 Amazon RDS 部署在私有子网中。

工具

操作说明

任务描述所需技能

验证源数据库和目标数据库的版本和引擎。

DBA

确定目标服务器实例的硬件要求。

DBA, SysAdmin

识别存储需求(存储类型和容量)。

DBA, SysAdmin

选择适当的实例类型(容量、存储功能、网络功能)。

DBA, SysAdmin

确定源数据库和目标数据库的网络访问安全要求。

DBA, SysAdmin

选择应用程序迁移策略。

考虑割接活动是要完全停机还是部分停机。

DBA, SysAdmin,应用程序所有者

准备迁移

任务描述所需技能

验证源数据库和目标数据库的版本和引擎。

DBA

确定目标服务器实例的硬件要求。

DBA, SysAdmin

识别存储需求(存储类型和容量)。

DBA, SysAdmin

选择适当的实例类型(容量、存储功能、网络功能)。

DBA, SysAdmin

确定源数据库和目标数据库的网络访问安全要求。

DBA, SysAdmin

选择应用程序迁移策略。

考虑割接活动是要完全停机还是部分停机。

DBA, SysAdmin,应用程序所有者
任务描述所需技能

创建VPC和子网。

SysAdmin

创建安全组和网络访问控制列表 (ACLs)。

SysAdmin

配置并启动 Amazon f RDS or Oracle 实例。

DBA, SysAdmin

配置并启动 Amazon f RDS or My SQL 实例。

DBA, SysAdmin

准备一个测试用例来验证代码转换。

这将有助于对转换后的代码执行单元测试。

DBA,开发者

配置实AWSDMS例。

在中配置源端点和目标端点AWSDMS。

配置基础设施

任务描述所需技能

创建VPC和子网。

SysAdmin

创建安全组和网络访问控制列表 (ACLs)。

SysAdmin

配置并启动 Amazon f RDS or Oracle 实例。

DBA, SysAdmin

配置并启动 Amazon f RDS or My SQL 实例。

DBA, SysAdmin

准备一个测试用例来验证代码转换。

这将有助于对转换后的代码执行单元测试。

DBA,开发者

配置实AWSDMS例。

在中配置源端点和目标端点AWSDMS。

任务描述所需技能

使用生成目标数据库脚本AWSSCT。

检查所转换的代码的准确性AWSSCT。将需要一些手动操作。

DBA,开发者

在中 AWSSCT,选择 “不区分大小写” 设置。

在中 AWSSCT,选择 “项目设置”、“区分目标大小写”、“不区分大小写”。

DBA,开发者

在中 AWSSCT,选择不使用 Oracle 本机函数。

在 “项目设置” 中,检查 TO CHAR/TO_NUMBER/TO _ DATE 的功能。

DBA,开发者

对“sql%notfound”代码进行更改。

您可能需要手动转换代码。

在存储过程中查询表和对象(使用小写查询)。

DBA,开发者

完成所有更改后创建主脚本,然后将主脚本部署到目标数据库上。

DBA,开发者

使用示例数据对存储过程和应用程序调用执行单元测试。

清理单元测试期间所创建的数据。

DBA,开发者

删除目标数据库上的外键约束。

需要执行此步骤来加载初始数据。如果您不想删除外键约束,则必须为特定于主表和辅助表的数据创建迁移任务。

DBA,开发者

删除目标数据库的主键与唯一键。

此步骤可提高初始加载性能。

DBA,开发者

在源数据库上启用补充日志记录。

DBA

在中为初始加载创建迁移任务 AWSDMS,然后运行它。

选择该选项以迁移现有数据。

DBA

向目标数据库添加主键和外键。

初始加载后需要添加约束。

DBA,开发者

创建用于持续复制的迁移任务。

持续复制使目标数据库与源数据库保持同步。

DBA

迁移数据

任务描述所需技能

使用生成目标数据库脚本AWSSCT。

检查所转换的代码的准确性AWSSCT。将需要一些手动操作。

DBA,开发者

在中 AWSSCT,选择 “不区分大小写” 设置。

在中 AWSSCT,选择 “项目设置”、“区分目标大小写”、“不区分大小写”。

DBA,开发者

在中 AWSSCT,选择不使用 Oracle 本机函数。

在 “项目设置” 中,检查 TO CHAR/TO_NUMBER/TO _ DATE 的功能。

DBA,开发者

对“sql%notfound”代码进行更改。

您可能需要手动转换代码。

在存储过程中查询表和对象(使用小写查询)。

DBA,开发者

完成所有更改后创建主脚本,然后将主脚本部署到目标数据库上。

DBA,开发者

使用示例数据对存储过程和应用程序调用执行单元测试。

清理单元测试期间所创建的数据。

DBA,开发者

删除目标数据库上的外键约束。

需要执行此步骤来加载初始数据。如果您不想删除外键约束,则必须为特定于主表和辅助表的数据创建迁移任务。

DBA,开发者

删除目标数据库的主键与唯一键。

此步骤可提高初始加载性能。

DBA,开发者

在源数据库上启用补充日志记录。

DBA

在中为初始加载创建迁移任务 AWSDMS,然后运行它。

选择该选项以迁移现有数据。

DBA

向目标数据库添加主键和外键。

初始加载后需要添加约束。

DBA,开发者

创建用于持续复制的迁移任务。

持续复制使目标数据库与源数据库保持同步。

DBA
任务描述所需技能

将 Oracle 原生函数替换为 “我的SQL本机函数”。

应用程序所有者

确保SQL查询中的数据库对象仅使用小写名称。

DBA, SysAdmin,应用程序所有者

迁移应用程序

任务描述所需技能

将 Oracle 原生函数替换为 “我的SQL本机函数”。

应用程序所有者

确保SQL查询中的数据库对象仅使用小写名称。

DBA, SysAdmin,应用程序所有者
任务描述所需技能

关闭Application Server。

应用程序所有者

验证源数据库和目标数据库是否同步。

DBA,应用程序所有者

停止 Amazon f RDS or Oracle 数据库实例。

DBA

停止迁移任务。

完成上一步后,该进程将自动停止。

DBA

将JDBC连接从 Oracle 更改为 “我的” SQL。

应用程序所有者,DBA

启动应用程序。

DBA, SysAdmin,应用程序所有者

割接至目标数据库

任务描述所需技能

关闭Application Server。

应用程序所有者

验证源数据库和目标数据库是否同步。

DBA,应用程序所有者

停止 Amazon f RDS or Oracle 数据库实例。

DBA

停止迁移任务。

完成上一步后,该进程将自动停止。

DBA

将JDBC连接从 Oracle 更改为 “我的” SQL。

应用程序所有者,DBA

启动应用程序。

DBA, SysAdmin,应用程序所有者
任务描述所需技能

查看和验证项目文档。

DBA, SysAdmin

收集与迁移时间、手动任务与工具任务的百分比、成本节约等相关的指标。

DBA, SysAdmin

停止并删除AWSDMS实例。

DBA

移除源和目标数据库端点

DBA

移除迁移任务。

DBA

拍下 Amazon for Oracle 数据库实例RDS的快照。

DBA

删除 Amazon fo RDS r Oracle 数据库实例。

DBA

关闭并删除您使用的任何其他临时AWS资源。

DBA, SysAdmin

关闭项目并提供任何反馈。

DBA

关闭项目

任务描述所需技能

查看和验证项目文档。

DBA, SysAdmin

收集与迁移时间、手动任务与工具任务的百分比、成本节约等相关的指标。

DBA, SysAdmin

停止并删除AWSDMS实例。

DBA

移除源和目标数据库端点

DBA

移除迁移任务。

DBA

拍下 Amazon for Oracle 数据库实例RDS的快照。

DBA

删除 Amazon fo RDS r Oracle 数据库实例。

DBA

关闭并删除您使用的任何其他临时AWS资源。

DBA, SysAdmin

关闭项目并提供任何反馈。

DBA

相关资源

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。