本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
同构数据库迁移工具
Notice
自 2024 年 4 月 30 日起,VMware Cloud on AWS 不再由其渠道 AWS 合作伙伴转售。该服务将继续通过博通提供。我们鼓励您联系您的 AWS 代表了解详情。
有许多工具和技术可用于数据迁移。根据您的数据库大小、一致性、本地环境与 AWS 之间的网络连接带宽以及允许的数据库迁移时间,您可以分单个阶段或多个阶段执行迁移。下表列出了工具和信息,可帮助您选择最能满足您需求的选项。
迁移工具 |
数据库大小 |
支持 |
推荐用于 |
Oracle SQL 开发人员(数据库复制功能) |
最大 200 MB |
Amazon RDS Amazon EC2 |
包含任意数量对象的小型数据库。 |
最高 10 GB |
Amazon RDS Amazon EC2 |
包含有限数量对象的中小型数据库。 |
|
最高 10 GB |
Amazon RDS Amazon EC2 |
包含大量对象的中小型数据库。 |
|
最大 20 TB |
Amazon RDS Amazon EC2 |
任何大小为 10 GB — 20 TB 的数据库的首选方法。 |
|
任何大小 |
Amazon RDS Amazon EC2
|
迁移停机时间最短。数据库大小受带宽限制。您可以将 AWS DMS 与 Oracle Data Pump 配合使用来进行大型数据库迁移。 |
|
任何大小 |
Amazon RDS Amazon EC2 VMware Cloud on AWS
|
迁移停机时间最短。与 Oracle Data Pump 配合使用以进行大型数据库迁移。 |
|
任何大小 |
Amazon RDS Custom Amazon EC2 VMware Cloud on AWS |
迁移停机时间最短。与 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 Cloud on AWS |
HCX vMotion 允许一次性在线或离线迁移单个虚拟机 (VM),无需停机。 |
下面的小节提供了关于每个工具的更多信息。
Oracle SQL Developer
Oracle SQL Developer
Oracle SQL Developer 支持 Amazon RDS for Oracle 和 Amazon EC2 上的 Oracle 数据库。
Oracle SQL*Loader
Oracle SQL*Loader
Oracle SQL*Loader 支持 Amazon RDS for Oracle 和 Amazon EC2 上的 Oracle 数据库。
Oracle 导出和导入
Oracle 导出和导入实用程序
您可以将此工具用于 Amazon RDS for Oracle 和 Amazon EC2 上的 Oracle 数据库。
Oracle Data Pump
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](images/oracle-migration-data-pump-with-dms.png)
有关使用 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](images/oracle-migration-goldengate-hub.png)
甲骨文 GoldenGate 需要与甲骨文分开的许可证。
甲骨文同时 GoldenGate 支持在亚马逊 EC2 或 VMware Cloud 上运行的 Amazon RDS for Oracle 和 Oracle 数据库 AWS。
Oracle Data Guard
Oracle Data Guard
当主本地 Oracle 数据库与 EC2 实例上的目标备用数据库同步时,您可以切换到目标数据库,目标数据库会将其转换为读写数据库。然后将应用程序连接指向新的主数据库。使用此选项,您可以最大限度地减少停机时间,并在 AWS 上获得数据库的精确实体副本。迁移过程如下图所示。
![](images/oracle-migration-data-guard.png)
Oracle Data Guard 支持在 Amazon EC2、Amazon RDS Custom 和 VMware Cloud on AWS 上运行的 Oracle 数据库。
Oracle RMAN
Oracle Recovery Manager (RMAN)
您可以使用 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
HCX 向 VMware Cloud on AWS 客户免费提供。