将本地 Oracle 数据库迁移到亚马逊 F RDS or Oracle - AWS Prescriptive Guidance

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

将本地 Oracle 数据库迁移到亚马逊 F RDS or Oracle

由 Baji Shaik (AWS) 和 Pavan Pusuluri () 创作 AWS

环境:PoC 或试点

源:数据库:关系

目标:Amazon f RDS or Oracle

R 类型:更换平台

工作负载:Oracle

技术:迁移;数据库

AWS服务:亚马逊RDS;AWSDMS

Summary

此模式描述了将本地 Oracle 数据库迁移到适用于 Oracle 的 Amazon Relational Database Service (AmazonRDS) 的步骤。作为迁移过程的一部分,您需要制定迁移计划,并根据源数据库考虑有关目标数据库基础设施的重要因素。您可以根据业务需求和用例从两个迁移选项中选择一个:

先决条件和限制

先决条件

  • 一个活跃的AWS账户

  • 本地 Oracle 数据库

  • 亚马逊 RDS Oracle 数据库 (DB) 实例

限制

  • 数据库大小限制:64 TB

产品版本

架构

源技术堆栈

  • 本地 Oracle 数据库

目标技术堆栈

  • RDS适用于甲骨文的亚马逊

源架构和目标架构

下图显示了如何使用将本地 Oracle 数据库迁移到 Amazon f RDS or Oracle AWS DMS。

使用迁移工作流程AWSDMS。

图表显示了以下工作流:

  1. 创建或使用现有数据库用户,向该用户授予所需AWSDMS权限,开启ARCHIVELOG模式,然后设置补充日志

  2. 在本地和AWS网络之间配置互联网网关。

  3. 为配置源端点和目标端点AWSDMS。

  4. 配置AWSDMS复制任务以将数据从源数据库迁移到目标数据库。

  5. 在目标数据库上完成迁移后活动。

下图显示了如何使用原生 Oracle 工具将本地 Oracle 数据库迁移到 Amazon RDS for Oracle。

使用原生 Oracle 工具迁移工作流程。

图表显示了以下工作流:

  1. 使用 Oracle 导出(exp)和导入(imp)实用程序创建或使用现有数据库用户并授予备份 Oracle 数据库所需权限。

  2. 在本地和AWS网络之间配置互联网网关。

  3. 堡垒主机上配置 Oracle 客户端以获取备份数据库。

  4. 将备份数据库上传到 Amazon Simple Storage Service(Amazon S3)存储桶。

  5. 将数据库备份从 Amazon S3 恢复到 Amazon fo RDS r Oracle 数据库。

  6. 为 Orac GoldenGate le 配置CDC。

  7. 在目标数据库上完成迁移后活动。

工具

  • AWSDat@@ abase Migration Service (AWSDMS) 可帮助您将数据存储迁移到AWS云端,或者在云端和本地设置的组合之间迁移。

  • Oracle 原生工具可帮助您执行同构迁移。您可以使用 Oracle 数据泵在源数据库和目标数据库之间迁移数据。此模式使用 Oracle 数据泵执行从源数据库到目标数据库的完全加载。

  • Oracle GoldenGate 可帮助您在两个或多个数据库之间执行逻辑复制。此模式 GoldenGate 用于在初始加载后使用 Oracle 数据泵复制增量更改。

操作说明

任务描述所需技能

创建项目文档并记录数据库详细信息。

  1. 记录迁移目标、迁移要求、主要项目利益相关者、项目里程碑、项目截止日期、关键指标、迁移风险和风险缓解计划。

  2. 记录有关源数据库的重要信息,包括RAMIOPS、和CPUs。稍后,您将使用此信息来确定相应的目标数据库实例。

  3. 验证源数据库和目标数据库的版本。

DBA

识别存储要求。

确定并记录存储需求,包括:

  1. 计算为源数据库实例分配的存储空间。

  2. 收集来自源数据库实例的历史增长指标。

  3. 预测目标数据库实例的未来增长。

注意:对于通用型 (gp2) SSD 卷,IOPS每 1 GB 存储空间可获得三个。 通过计算源数据库的读取和写入IOPS总数来分配存储空间。

DBA, SysAdmin

根据计算要求选择正确的实例类型。

  1. 确定目标数据库实例的计算要求。

  2. 识别性能问题。

  3. 考虑以下因素来确定合适的实例类型:

    • CPU源数据库实例的利用率

    • IOPS(读写)源数据库实例

    • 源数据库实例上的内存占用

SysAdmin

识别网络访问安全要求。

  1. 识别并记录源数据库和目标数据库的网络访问安全要求。

  2. 配置适当的安全组,使应用程序能够与数据库通信。

DBA, SysAdmin

确定应用程序迁移策略。

  1. 确定并记录迁移割接策略。

  2. 确定并记录应用程序的恢复时间目标 (RTO) 和恢复点目标 (RPO),然后相应地计划切换。

DBA, SysAdmin,应用程序所有者

识别迁移风险。

评测数据库并记录特定于迁移的风险和缓解措施。例如:

  • 识别未记录表格,突出显示在恢复时丢失数据的风险。

  • 提取源数据库用户和权限,并突出显示与 Amazon RDS 权限的冲突。

  • 查看警报日志,了解任何特定于 Oracle 的错误和警告。

  • 识别目标数据库实例支持和不支持的功能。

  • 查看目标数据库版本引擎的已弃用功能。

DBA
任务描述所需技能

创建一个VPC.

为目标数据库实例创建新的亚马逊虚拟私有云 (AmazonVPC)

SysAdmin

创建安全组。

在新版中@@ 创建安全组VPC以允许数据库实例的入站连接。

SysAdmin

创建 Amazon f RDS or Oracle 数据库实例。

使用新的VPC和安全组@@ 创建目标数据库实例,然后启动该实例。

SysAdmin
任务描述所需技能

准备源数据库。

  1. 创建数据泵目录或使用现有目录。

  2. 创建迁移用户并授予执行数据泵数据提取的权限

  3. 以脚本形式从源数据库中提取角色、用户和表空间。SQL

  4. 将提取的数据泵转储传输到目标数据库实例 data pump 目录。

DBA, SysAdmin

准备目标数据库。

  1. 确认在目标 Amazon RDS for Oracle 数据库实例上已安装或启用所有数据库选项(例如,文本和 Java)。

  2. 创建数据泵目录或使用现有目录。

  3. 创建迁移用户并授予执行数据泵数据导入的权限。

  4. 在目标数据库实例上创建所需表空间、用户和角色。

  5. 将传输的数据泵导出转储到目标数据库。

  6. 创建在导入或创建对象期间排除的所有索引。

  7. 创建导入期间排除的所有约束。

  8. 验证或重新编译无效对象。

  9. 重建无效的索引。

  10. 验证源数据库和目标数据库之间的数据库对象计数。

  11. 解决在对象计数之间发现的任何差异。

DBA, SysAdmin
任务描述所需技能

准备数据。

  1. 清理源数据库中的数据。

  2. 创建复制实例

  3. 创建源端点和目标端点

  4. 确定要迁移的表和对象的数量。

DBA

迁移数据。

  1. 删除目标数据库上的外键约束和触发器。

  2. 删除目标数据库上的辅助索引。

  3. 配置从源数据库到目标数据库的AWSDMS满载任务设置

  4. 启用外键。

  5. 启用AWSDMSCDC该选项可以复制正在进行的更改。

  6. 启用触发器。

  7. 更新序列。

  8. 验证源数据和目标数据。

DBA
任务描述所需技能

将应用程序客户端切换至新基础设施。

  1. 停止所有指向 Oracle 的应用程序服务和客户端连接。

  2. 运行AWSDMS任务。

  3. 设置回滚任务(例如,CDC从 Amazon RDS 数据库反向到本地 Oracle 数据库)。

  4. 验证数据。

  5. 通过将 Amazon Route 53 配置到新的 Amazon for Oracle 数据库实例,在新目标数据库上启动应用程序服务。RDS

  6. 将亚马逊 CloudWatch 监控添加到您的新 Amazon for RDS Oracle 数据库实例中。

DBA, SysAdmin,应用程序所有者

实施您的回滚计划。

  1. 停止所有指向 Amazon for Oracle 数据库实例RDS的应用程序服务。

  2. 使用AWSDMS任务将更改回滚到源本地 Oracle 数据库。

  3. 停止从本地 Oracle 数据库运行到 Amazon for Oracle 数据库RDS的AWSDMS任务。

  4. 在 Oracle 源数据库上重新启动所有应用程序。

  5. 确认回滚部署已完成。

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

清理资源。

关闭或移除临时AWS资源,例如AWSDMS复制实例和 S3 存储桶。

DBA, SysAdmin

查看项目文档。

查看迁移计划文档和目标,然后确认您已完成所有必需的迁移步骤。

DBA, SysAdmin,应用程序所有者

收集指标。

记录关键迁移指标,包括完成迁移所需时间、手动任务与基于工具的任务的百分比、成本节省以及其他相关指标。

DBA, SysAdmin,应用程序所有者

关闭项目。

结束迁移项目并收集有关迁移工作的反馈。

DBA, SysAdmin,应用程序所有者

相关资源

参考

教程和视频