经典案例

计划使用Oracle Data Pump和AWS DMS将Oracle迁移到Amazon RDS f

2026-01-27 14:43:01
14次

规划Oracle数据库迁移到Amazon RDS for Oracle

重点摘要

在将自管理的Oracle数据库迁移到Amazon RDS for Oracle时,使用Oracle Data Pump和AWS DMS是一种常用的方法。通过这种方式,用户可以降低数据库基础设施管理的成本,同时利用AWS的备份、升级和监控等管理服务。本文讨论了在迁移过程中的重要考虑因素以及实施步骤。

介绍

将自管理的Oracle数据库迁移到Amazon关系数据库服务Amazon RDS是许多希望采用AWS托管数据库解决方案的客户的常见选择。这种托管服务旨在减少数据库基础设施管理的成本和开销,提供备份、升级、监控和容量管理等功能。

对于Oracle到Amazon RDS for Oracle的迁移策略,考虑了用户对停机时间的容忍度。数据库的大小、表的大小、数据类型及重做日志生成速率都是决定迁移路径的关键因素。在可能的情况下,最佳做法是使用Oracle Data Pump和RMAN等原生工具,以便实现最佳兼容性。当原生工具不可用时,可以利用AWS数据库迁移服务AWS DMS进行数据的初始完整提取或复制更改数据捕获CDC到目标数据库。

以下表格总结了在停机时间最小的情况下,将Oracle迁移到Amazon RDS for Oracle的常见推荐方法:

迁移方法最佳适用情况Oracle Data Pump导出和DMS CDC适合单个到多TB的数据库,重做日志生成速率为每小时数十到数百GB。Oracle可转移表空间适合大的多TB数据库,实体迁移更为合适,包括跨体系结构或操作系统的迁移。仅AWS DMS适合较小的数据库,重做日志生成速率为每小时数十到数百GB。当Oracle Data Pump不适用时,是一个不错的选择。AWS DMS到AWS Snow设备和DMS CDC在Oracle Data Pump或Oracle可转移表空间不可行且数据库过大以至于无法通过网络转移时是一个好的选择。

本文将讨论使用Oracle Data Pump和DMS CDC迁移到Amazon RDS for Oracle的规划考虑因素。这种方法提供了一种灵活的迁移策略,最大限度地减少对源数据库的影响,并支持可管理的切换时间。如果您需要关于如何实施此迁移方法的逐步示例,请参阅使用AWS DMS进行近零停机的Oracle数据库迁移。

解决方案概述

以下图示展示了与本文相关的架构规划考虑因素。

迁移概述

将Oracle数据库迁移到Amazon RDS for Oracle的一般步骤有:

在源数据库上进行初始一致的Oracle Data Pump导出。通过网络或AWS Snow Family设备将导出文件转移到Amazon简单存储服务Amazon S3。从S3下载导出文件到RDS for Oracle实例并导入到目标数据库。创建DMS CDC任务,以捕获从源数据库的增量更改,起始点为flashbackscn或flashbacktime。一旦DMS CDC任务完全同步,几乎没有复制延迟,就可以安排切换时间。

许可证

Amazon RDS for Oracle支持两种许可模式。如果您希望部署企业或标准版本的Oracle数据库,可以选择“自带许可证BYOL”。另外,如果部署Oracle标准版一或标准版二,则可以购买包含许可证的Amazon RDS for Oracle实例。Oracle许可证合同比例因客户而异,因此建议咨询Oracle或许可证专家确认相关情况。

规划

使用Oracle Data Pump和AWS DMS CDC作为迁移策略,在源数据库达到TB级别且初始导出文件可以在其归档日志保留窗口内转移并导入到目标数据库时,特别有效。通过高速网络或通过可以在几天内运输并连接到您的网络的AWS Snow Family设备,可以将初始Oracle Data Pump导出文件转移到AWS。

iphone免费加速器

源数据库每小时的重做日志生成量是另一个会影响DMS CDC复制延迟并延长切换窗口的重要因素。源数据库的工作负载生成的重做日志速率越一致,复制延迟的预测性就越强,可以更好地计划切换窗口。反之,重负载的批处理周期会在复制延迟上造成更多变数,来回的关注与计划是必不可少的。在源和目标数据库都正确建立索引并且变更速率在每小时数十到数百GB时,AWS DMS CDC的复制延迟应该是可控的,同时较短的切换窗口也是可能的。以下是一些关键领域,供您检查以确保成功迁移:

AWS提供了一种AWS DMS Oracle支持脚本,该脚本输出此类迁移的所有相关信息。尽早运行该脚本可以增强您对迁移方法的信心。我们强烈建议您运行该脚本,以熟悉所有重要领域,包括当前使用的数据类型、最常修改的表及LOB使用情况。检查输出,并与AWS DMS使用Oracle作为数据源的限制进行比较。运行迁移前评估AWS DMS任务也非常重要,因为它可以帮助揭示迁移方法中可能存在的潜在问题,如下图所示。

检查网络到Amazon VPC的连接选项,确保您的网络连接能够支持您的迁移策略。对于较小的数据库迁移,基础的SitetoSite VPN选项可能合适,但AWS Direct Connect将提供更快的传输速度,且对网络中断更具弹性。每小时传输数TB的Oracle Data Pump导出文件以及复制数GB的日志更改,在低带宽网络下可能会面临挑战。

源数据库配置

关于AWS DMS CDC在源数据库上捕获变化所需的权限和配置,请参考与自管理的Oracle数据库作为AWS DMS数据源相关工作。以下是需关注的一些关键领域:

调整源数据库的归档日志保留,以确保AWS DMS CDC可以访问归档日志。如果从创建导出文件所需的时间为5天,则归档日志保留期需至少为5天。在使用expdp工具或DBMSDATAPUMP API导出数据时,使用PARALLEL选项,以加快导出速度。使用DUMPFILE通配符字符U或类似启用Data Pump同时写入多个并发转储文件。使用FILESIZE参数限制导出文件大小,因为Amazon S3的最大文件大小为5 TB。了解设置补充日志记录要求。没有主键或唯一索引的表可能会是一个问题。

AWS DMS配置

在此迁移场景中,AWS DMS复制实例和AWS DMS任务仅基于起始FLASHBACKSCN或FLASHBACKTIME复制日志变更。复制实例需具备足够的CPU和内存以处理正在运行的任务。您可以选择基于实例的或无服务器配置。

以下是需注意的一些关键领域:

考虑使用AWS DMS无服务器以简化实例配置。如果AWS DMS基于实例的配置更合适,请参考选择适合您的迁移的AWS DMS复制实例有关选择实例类型和大小的指导。AWS DMS CDC任务可以配置为通过LogMiner或二进制读取器配置从源数据库读取。需参阅使用Oracle LogMiner或AWS DMS二进制读取进行CDC以确定最合适的选项。单一的AWS DMS任务可以配置用来处理源数据库的日志流,并将变更应用于目标。但如果少数关键表负责绝大多数DML更改,可以创建多个DMS任务并使用表选择规则将表组分配到多个任务,以实现并行处理。

目标数据库配置

迁移的时钟通常从在源数据库上使用FLASHBACKSCN或FLASHBACKTIME参数执行的一致Data Pump导出开始。此时,您需要尽快迁移数据并同步CDC变更。以下是一些重要因素,帮助准备目标数据库以适应这种迁移:

计划使用Oracle Data Pump和AWS DMS将Oracle迁移到Amazon RDS f在创建目标RDS for Oracle数据库之前,创建非默认的数据库参数和选项组。通过将目标数据库配置为NOARCHIVELOG模式来提高初始导入性能。在初始导入期间,在单可用区配置数据库。每个RDS for Oracle数据库默认为四个128 MB的重做日志文件。

结论

本文涵盖了使用Oracle的原生Data Pump工具和AWS DMS进行CDC迁移到Amazon RDS for Oracle时,最常被忽视的主题。了解源数据库的表、索引、数据类型结构及重做生成速率,对于确定这种混合迁移方法是否符合您的迁移和切换预期至关重要。

我们鼓励您参考关于使用AWS DMS迁移Oracle数据库的文档,并运行规划部分提到的评估和支持脚本。有关使用DMS和Oracle Data Pump的配置信息,请查看使用Oracle数据库作为AWS DMS的数据源和Oracle Data Pump最佳实践。

关于作者

彼得桑托斯是亚马逊网络服务的高级数据专家架构经理。在2020年加入亚马逊之前,他曾在多种云和数据库工程角色中工作,帮助公司从数据解决方案中获得价值。

全国咨询热线

13594780123

Super加速器(中国)官方网站|Super加速器

联系电话:13594780123

联系人:李总

邮箱:sworn@mac.com

公司地址:邵武市清塑囚牢483号


微信扫一扫

手机官网