Skip to main content
NetApp Solutions
简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

将数据库从内部迁移到公有 云

贡献者

数据库迁移无论如何都是一项极具挑战性的工作。将Oracle数据库从内部迁移到云也不例外。

以下各节提供了在使用AWS EC2计算和FSX存储平台将Oracle数据库迁移到AWS公有 云时需要考虑的关键因素。

ONTAP 存储可在内部使用

如果内部Oracle数据库位于ONTAP 存储阵列上、则可以使用AWS FSX ONTAP 存储中内置的NetApp SnapMirror技术更轻松地设置复制以进行数据库迁移。可以使用NetApp BlueXP控制台协调迁移过程。

  1. 构建与内部实例匹配的目标计算EC2实例。

  2. 从FSX控制台配置大小相等的匹配数据库卷。

  3. 将FSX数据库卷挂载到EC2实例。

  4. 在内部数据库卷与目标FSX数据库卷之间设置SnapMirror复制。初始同步可能需要一段时间才能移动主源数据、但后续的任何增量更新都要快得多。

  5. 切换时、关闭主应用程序以停止所有事务。在Oracle sqlplus命令行界面中、执行Oracle联机日志切换并允许SnapMirror同步将最后一个归档日志推送到目标卷。

  6. 拆分镜像卷、在目标上运行Oracle恢复、并启动数据库以进行服务。

  7. 将应用程序指向云中的Oracle数据库。

以下视频演示了如何使用NetApp BlueXP控制台和SnapMirror复制将Oracle数据库从内部迁移到AWS FSX/EC2。

将内置Oracle数据库迁移到AWS

ONTAP 存储在内部不可用

如果内部Oracle数据库托管在ONTAP 以外的第三方存储上、则数据库迁移基于还原Oracle数据库备份副本。切换前、必须播放归档日志以使其保持最新。

AWS S3可用作数据库移动和迁移的暂存存储区域。有关此方法、请参见以下高级步骤:

  1. 配置一个与内部实例相当的新的匹配EC2实例。

  2. 从FSX存储配置等效的数据库卷、并将这些卷挂载到EC2实例。

  3. 创建磁盘级Oracle备份副本。

  4. 将备份副本移动到AWS S3存储。

  5. 重新创建Oracle控制文件、并通过从S3存储中提取数据和归档日志来还原和恢复数据库。

  6. 将目标Oracle数据库与内部源数据库同步。

  7. 切换时、关闭应用程序和源Oracle数据库。复制最后几个归档日志并将其应用于目标Oracle数据库以使其保持最新。

  8. 启动目标数据库以供用户访问。

  9. 将应用程序重定向到目标数据库以完成切换。

使用PDB重新定位将内部Oracle数据库迁移到AWS FSX/EC2、并最大程度地提高可用性

这种迁移方法最适合已部署在PDB或CDB多租户模式下的Oracle数据库、并且ONTAP 存储在内部不可用。PDB重新定位方法利用Oracle PDB热克隆技术在源CDB和目标CDB之间移动PDB、同时最大程度地减少服务中断。

首先、在AWS FSX/EC2中创建CDB、并为其提供足够的存储空间来托管要从内部迁移的PDB。可以一次重新定位一个多个内部部署的PDB。

  1. 如果内部数据库部署在单个实例中、而不是部署在多租户PDB或CDB模式中、请按照中的说明进行操作 "将单个实例非CDB转换为多租户CDB中的PDB" 将单个实例转换为多租户PDB或CDB。然后、按照下一步将转换后的PDB迁移到AWS FSX/EC2中的CDB。

  2. 如果已在多租户PDB或CDB模式中部署内部数据库、请按照中的说明进行操作 "通过PDB重新定位将内部Oracle数据库迁移到云" 以执行迁移。

以下视频演示了如何使用PDB重新定位将Oracle数据库(PDB)迁移到FSX/EC2并最大程度地提高可用性。

备注 尽管第1步和第2步中的说明在Azure公共云环境中进行了说明、但这些过程适用于AWS云、不会发生任何更改。

NetApp解决方案自动化团队提供了一个迁移工具包、可帮助Oracle数据库从内部迁移到AWS云。使用以下命令下载用于PDB重新定位的Oracle数据库迁移工具包。

git clone https://github.com/NetApp-Automation/na_ora_aws_migration.git