同构数据库迁移工具 - AWS 规范性指导

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

同构数据库迁移工具

Notice

自 2024 年 4 月 30 日起,VMware Cloud on AWS 不再由其渠道 AWS 合作伙伴转售。该服务将继续通过博通提供。我们鼓励您联系您的 AWS 代表了解详情。

有许多工具和技术可用于数据迁移。根据您的数据库大小、一致性、本地环境与 AWS 之间的网络连接带宽以及允许的数据库迁移时间,您可以分单个阶段或多个阶段执行迁移。下表列出了工具和信息,可帮助您选择最能满足您需求的选项。

迁移工具

数据库大小

支持

推荐用于

Oracle SQL 开发人员(数据库复制功能)

最大 200 MB

Amazon RDS Amazon EC2

包含任意数量对象的小型数据库。

Oracle SQL*Loader

最高 10 GB

Amazon RDS Amazon EC2

包含有限数量对象的中小型数据库。

Oracle 导出和导入实用程序

最高 10 GB 

Amazon RDS Amazon EC2 

包含大量对象的中小型数据库。

Oracle Data Pump

最大 20 TB

Amazon RDS Amazon EC2

任何大小为 10 GB — 20 TB 的数据库的首选方法。

AWS DMS

任何大小

Amazon RDS

Amazon EC2

 

迁移停机时间最短。数据库大小受带宽限制。您可以将 AWS DMS 与 Oracle Data Pump 配合使用来进行大型数据库迁移。

甲骨文 GoldenGate

任何大小

Amazon RDS Amazon EC2 VMware Cloud on AWS

 

迁移停机时间最短。与 Oracle Data Pump 配合使用以进行大型数据库迁移。

Oracle Data Guard

任何大小

Amazon RDS Custom Amazon EC2 VMware Cloud on AWS

迁移停机时间最短。与 Oracle RMAN 一起使用,可在初始数据传输后复制更改。

Oracle RMAN

任何大小 

 

Amazon RDS Custom Amazon EC2

VMware Cloud on AWS 

超过 2 TB 的数据库,或者数据库备份已在 Amazon Simple Storage Service (Amazon S3) 中。 

AWS Application Migration Service

任何大小

Amazon EC2

快速复制,割接期间的停机时间最短。有关更多信息,请参阅应用程序迁移服务文档

VMware HCX

任何大小

VMware Cloud on AWS

HCX vMotion 允许一次性在线或离线迁移单个虚拟机 (VM),无需停机。 

下面的小节提供了关于每个工具的更多信息。

Oracle SQL Developer

Oracle SQL Developer 是 Oracle 提供的免费 GUI 工具,用于数据操作、管理、开发和管理。这个基于 Java 的工具适用于 Microsoft Windows、Linux 或 macOS。您可以使用数据库复制功能将小型数据库迁移到 AWS,其中 AWS 的数据总大小低于 200 MB。源数据库和目标数据库之间的数据传输直接通过网络完成。要使用此选项,您需要在源数据库和目标数据库之间建立可靠的网络连接。此外,请记住,此方法不会在传输过程中对数据进行加密。 

Oracle SQL Developer 支持 Amazon RDS for Oracle 和 Amazon EC2 上的 Oracle 数据库。

Oracle SQL*Loader

Oracle SQL*Loader 是 Oracle 提供的批量数据加载实用程序,用于将数据从外部文件加载到数据库中。SQL*Loader 包含在完整的 Oracle 数据库客户端二进制文件中。您可以将 SQL*Loader 用于对象数量有限的 10 GB 以下的中小型数据库。由于这是一种基于架构的方法,因此它涉及从源数据库中单独导出特定的架构,然后将其加载到目标数据库中。如果数据库中有多个架构,则必须对每个架构重复该过程。

Oracle SQL*Loader 支持 Amazon RDS for Oracle 和 Amazon EC2 上的 Oracle 数据库。

Oracle 导出和导入

Oracle 导出和导入实用程序可帮助您迁移小于 10 GB 且不包含二进制浮点和双精度数据类型的数据库。导入过程会创建架构对象,因此,您无需事先运行脚本来创建他们。这使得该过程非常适合具有大量小表的数据库。

您可以将此工具用于 Amazon RDS for Oracle 和 Amazon EC2 上的 Oracle 数据库。

Oracle Data Pump

Oracle Data Pump 是 Oracle 导出和导入的增强版。此实用程序用于从或向 Oracle 数据库导出和导入数据和元数据。您可以对整个数据库、选定架构、表空间或数据库对象运行 Data Pump 导出/导入。Data Pump 是将数据迁移到 AWS 的推荐工具,适用于大小在 10 GB 到 20 TB 之间的大型数据库。它允许高度的并行性、灵活的数据提取选项和可扩展的操作,从而支持将数据和元数据从源数据库高速移动到目标数据库。在将数据导出到数据转储文件时,Oracle Data Pump 还支持加密和压缩。 

您可以将此工具用于 Amazon RDS for Oracle 和 Amazon EC2 上的 Oracle 数据库。您还可以使用 Oracle 数据泵和 AWS DMS 和 Oracle GoldenGate 来处理大型数据库的初始数据传输。

对于 Amazon RDS for Oracle,使用 Oracle Data Pump 导出实用程序将数据导出到转储文件后,Oracle Data Pump 导入实用程序要求数据文件在数据库服务器实例中可用,才能将其导入数据库。您无法直接访问 Amazon RDS 数据库实例中的文件系统,因此您需要使用以下选项之一将转储文件传输到 Amazon RDS:

  • 在两个数据库之间使用数据库链接。本过程使用 Oracle Data Pump 和 Oracle DBMS_FILE_TRANSFER 包。它在源(本地)Oracle 数据库和目标 Amazon RDS for Oracle 数据库之间创建数据库链接。此选项要求源数据库和目标数据库之间的带宽连接更高;我们建议您使用 AWS Direct Connect。仅建议小型数据库使用此选项。 有关更多信息,请参阅 Amazon RDS 文档中的使用 Oracle Data Pump 导入数据和数据库链接

  • 使用 Amazon S3 存储桶。Amazon RDS for Oracle 支持 Amazon S3 集成。当您有大型数据转储文件并且数据库大小以 TB 为单位时,建议使用此选项。然后,您可以使用 AWS Direct Connect(如果您的数据大小从 10 GB 到 5 TB 不等)或 AWS Snowball(如果您的数据大小超过 5 TB)将本地数据转储文件复制到 S3 存储桶,具体取决于数据库所需的迁移时间。

将数据转储文件上传到 Amazon S3 后,可以将其下载到目标 Amazon RDS for Oracle 数据库实例上的 DATA_PUMP_DIR 目录,然后将数据导入数据库实例。有关更多信息,请参阅 Amazon RDS 文档中的使用 Oracle Data Pump 和 Amazon S3 存储桶导入数据

借助 Oracle Data schema-by-schema Pump,您可以分阶段迁移更大的数据库。您可以迁移到不同版本的 Oracle 数据库软件,也可以迁移到具有不同硬件和软件配置的平台。

AWS DMS

AWS Database Migration Service (AWS DMS) 是一项托管服务,可帮助您轻松安全地将数据移入和移出 AWS。AWS DMS 支持大多数商用和开源数据库,可促进同构和异构迁移。AWS DMS 提供一次性完整数据库复制和变更数据捕获 (CDC) 技术,以保持源数据库和目标数据库同步,并最大限度地减少迁移过程中的停机时间。

AWS DMS 可以对小型 (10-20 GB) 到中型 (100-200 GB) 大小的数据库执行 Oracle 数据库架构的完整复制。对于非常大的数据库,您可以使用 Oracle Data Pump 将数据迁移到 Amazon RDS 或 Amazon EC2,然后使用 AWS DMS CDC 功能以最少的停机时间进行持续复制。同步数据后,您可以切换到目标数据库。

下图显示了如何使用 Oracle Data Pump 和 AWS DMS 将本地数据库迁移到 Amazon RDS for Oracle,同时最大限度地减少停机时间。Oracle Data Pump 导出实用程序将架构导出到数据库转储文件,然后使用 AWS Direct Connect 或 AWS Snowball(取决于数据库的大小、网络带宽和允许的迁移时间)将这些文件传输到 Amazon S3。将转储文件加载到 Amazon S3 中后,您可以将文件上传到 Amazon RDS for Oracle 数据库实例。然后,Oracle Data Pump 导入实用程序将数据导入到 Amazon RDS for Oracle,然后 AWS DMS CDC 会将所有更改从源数据库复制到目标 Amazon RDS for Oracle 数据库。

使用 Oracle 数据泵并将本地 Oracle 数据库迁移 AWS DMS 到 Amazon RDS

有关使用 AWS DMS 迁移 Oracle 源数据库的更多信息,请参阅 AWS文档中的使用 Oracle 数据库作为 AWS DMS 的来源

甲骨文 GoldenGate

Oracle GoldenGate 是一种在源数据库和一个或多个目标数据库之间复制数据的工具,可最大限度地减少停机时间。您可以使用它来构建高可用性架构,并执行实时数据集成、事务性更改数据捕获、异构环境中的复制以及连续数据复制。

您可以在源环境 GoldenGate 中通过本地服务器运行 Oracle。但是,我们建议您在 AWS 上通过充当 GoldenGate 中心的 EC2 实例安装和运行此工具,以提高性能。您可以有多个 GoldenGate 集线器,尤其是在将数据从一个源数据库迁移到多个目标时。您可以 GoldenGate 搭配 Amazon RDS 进行主动-主动数据库复制、零停机迁移和升级、灾难恢复、数据保护以及区域内和跨区域复制。有关详细信息,请参阅 AWS 文档中的将 Oracle GoldenGate 与 Amazon RDS 配合使用

下图显示了如何 GoldenGate结合使用 Oracle Data Pump 和 Oracle 将本地 Oracle 数据库迁移到 Amazon RDS for Oracle。

使用 Oracle 数据泵和 Oracle GoldenGate 将本地 Oracle 数据库迁移到 Amazon RDS

甲骨文 GoldenGate 需要与甲骨文分开的许可证。

甲骨文同时 GoldenGate 支持在亚马逊 EC2 或 VMware Cloud 上运行的 Amazon RDS for Oracle 和 Oracle 数据库 AWS。

Oracle Data Guard

Oracle Data Guard 提供了一组用于创建、维护、监控和管理 Oracle 备用数据库的服务。使用 Oracle Recovery Manager (RMAN) 和 Oracle Data Guard,您可以将整个 Oracle 数据库从本地迁移到 Amazon EC2,同时最大限度地减少停机时间。使用 RMAN,您可以使用备份/恢复或复制数据库方法将主数据库还原到 Amazon EC2 上的目标备用数据库。然后,您可以使用 Oracle Data Guard 将目标数据库配置为物理备用数据库,从而允许将所有事务/重做数据从主本地数据库更改为备用数据库。

当主本地 Oracle 数据库与 EC2 实例上的目标备用数据库同步时,您可以切换到目标数据库,目标数据库会将其转换为读写数据库。然后将应用程序连接指向新的主数据库。使用此选项,您可以最大限度地减少停机时间,并在 AWS 上获得数据库的精确实体副本。迁移过程如下图所示。

Oracle Data Guard 支持在 Amazon EC2、Amazon RDS Custom 和 VMware Cloud on AWS 上运行的 Oracle 数据库。

Oracle RMAN

Oracle Recovery Manager (RMAN) 是 Oracle 提供的用于执行和管理 Oracle 数据库备份和恢复的工具。您可以使用 RMAN 从本地或数据中心备份您的 Oracle 数据库,然后将其恢复到 EC2 实例上的 Oracle 数据库。如果您计划将整个数据库移至 EC2 实例上的自管理 Oracle 数据库,请使用此方法。数据库可以是任意大小,您可以在备份中使用并行处理、压缩和加密。

您可以使用 Oracle 安全备份 (OSB) 云模块、AWS Storage Gateway 或 AWS 将本地 Oracle 数据库的 Oracle RMAN 备份直接放在 S3 存储桶中。 DataSync然后,您可以使用 AWS Identity and Access Management (IAM) 角色向 S3 存储桶授予对 EC2 实例上目标 Oracle 数据库的访问权限,并使用 RMAN 备份文件恢复数据库。您可以从本地 Oracle 数据库获取增量备份,然后将其应用于 EC2 实例上的目标 Oracle 数据库,直到本地数据库和目标数据库同步为止。然后可以在方便的时候执行切换。

Oracle RMAN 支持 Amazon EC2、Amazon RDS Custom 和 VMware Cloud on AWS 迁移。当您可以留出足够的停机时间将数据迁移到 AWS 时,推荐使用这种方法。

VMware HCX

VMware 混合云扩展 (HCX) 使您无需改造您的 VMware 基础设施即可将本地 Oracle 数据库迁移到 AWS。它包括几种迁移方法,详见博客文章如何将 Oracle 工作负载迁移到 VMware Cloud on AWS使用混合云扩展 (HCX) 将工作负载迁移到 VMware Cloud on AWS。其中一种方法是 HCX vMotion,它提供了单个虚拟机的实时迁移,无需停机时间且可用性高。

HCX 向 VMware Cloud on AWS 客户免费提供。