您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn.

将 Oracle Database 迁移到 Azure

负载均衡器
ExpressRoute
VPN 网关

解决方案理念

如果想了解详细信息(例如潜在用例、替代服务、实现注意事项或定价指南)来扩展本文,请通过反馈GitHub告知我们!

Oracle DB可以通过多种方式完成迁移。 此解决方案涵盖这些选项之一,其中 Oracle Active Data Guard 用于迁移数据库。 假定 Oracle Data Guard (Active Data Guard) 用于 HA/DR 目的。 根据应用程序,可以先迁移应用程序,也可以迁移数据库。 在这种情况下,应用程序将迁移到 Azure Azure 负载均衡器。 这样,你可在本地和 Azure 之间拆分流量,从而逐步迁移应用程序层。 数据库迁移通过多个步骤执行。 首先,使用 Oracle Data Guard 在 Azure 中设置辅助/备用数据库。 这允许你将数据迁移到 Azure。 Azure 中的辅助数据库与主数据库同步后,可以将 Azure 中的数据库翻转为主数据库,同时在本地维护辅助数据库。 下一步,可以设置不同可用性区域中的辅助数据库, (或) HA/DR 目的。 此时,可以解除本地环境授权。 本地与 Azure 之间的所有数据流量都Azure ExpressRoute或站点到站点 VPN 连接。

体系结构

体系结构图

数据流

  1. 连接站点到站点 VPN 或 ExpressRoute 将 Azure 环境与本地网络相连接。
  2. 使用 DataGuard 将 Azure 中的 OracleDB1 标记为活动代理。
  3. 切换 Azure 中的 OracleDB1 作为主服务器,在 Azure 中将 OracleDB2 设置为备用服务器,以完成迁移。

备注

  • 此方法仅在迁移到同一 OS 版本和数据库版本以及从同一 OS 版本和数据库版本迁移时有效。
  • 假设:你在本地使用 DataGuard。

组件

备选方法

如果数据库超过 2 TB,可以将 Oracle Data Guard 与 Oracle 恢复管理器 (RMAN) 一起使用,或使用 Data Pump在初始批量数据传输后复制更改,从而尽量减少停机时间迁移。

注意事项

迁移

可以使用 Oracle 恢复管理器 (RMAN 和 Oracle Data Guard 将整个 Oracle 数据库从本地迁移到 Azure VM) 停机时间最短。 使用 RMAN 通过备份/还原或重复数据库方法将数据库还原到目标备用 Azure VM。 然后,可以使用 Oracle Data Guard 将目标数据库配置为物理备用数据库,从而允许从主本地数据库到备用数据库的所有事务/重做数据更改。 当主本地 Oracle 数据库与 Azure VM 实例上的目标备用数据库同步时,可以切换到目标数据库,从而将其转换为读写数据库。 然后,可以将应用程序连接指向新的主数据库。 将数据库迁移到 Azure 时,此选项可缩短停机时间。

Oracle Data Pump 实用工具用于将数据和元数据从 Oracle 数据库导出或导入到 Oracle 数据库。 可以在整个数据库、选择性架构、表空间或数据库对象上运行 Data Pump 导出/导入。 对于大小在 10 GB 到 20 TB 的大型数据库,建议使用 Data Pump 将数据迁移到 Azure。 它允许高度并行、灵活的数据提取选项和可缩放的操作,从而支持将数据和元数据从源数据库高速移动至目标数据库。 将数据导出到数据转储文件时,Oracle Data Pump 还支持加密和压缩。 可以将 Oracle Data Pump 与 Oracle Data Guard 或 Golden Gate 一起用于处理大型数据库的初始数据传输。 请注意,Data Pump 仅在 10.1 Oracle Database 10.1 (10.1) 版本 1 上可用。

设计注意事项

VM 大小调整

请考虑将超线程内存优化虚拟机与受约束的核心 v CPU 一起用于 Oracle Database VM,以节省许可成本并最大程度地提高性能。 Oracle 确保了从本地到 Azure 的许可移动性。 请参阅 Oracle-Azure 常见问题解答。

存储

使用多个高级或超级 (托管) ,提高 Oracle 数据库的性能和可用性。 使用托管磁盘时,磁盘/设备名可能会在重启时更改。 建议使用设备 UUID 而不是名称,以确保装载在重新启动时保持。 请考虑使用 Oracle Automatic Storage Management (ASM) 来简化数据库的存储管理。

测试和优化

建议执行以下测试,针对新的 Oracle 数据库验证应用程序:

  • 运行性能测试,确保它们符合业务预期。
  • 测试数据库故障转移、恢复和还原,以确保满足 RPO 和 RTO 要求。
  • 列出所有关键作业和报表,在新的 Oracle 实例上运行它们,以根据服务级别协议评估它们的性能, (SLA) 。
  • 最后,在为云迁移或创建应用程序时,请务必调整应用程序代码以添加云原生模式,如重试模式和断路器模式。 云设计模式指南中定义的其他模式可帮助应用程序更具复原能力。

Oracle 许可

如果在 Azure VM 中使用已启用超线程的技术,则两个 v CPU 计为等效于一个 Oracle 处理器许可证。 有关详细信息,请参阅在云计算环境中授权 Oracle Software。

备份策略

一种备份策略是使用 Oracle 恢复管理器 (RMAN) Azure 备份应用程序一致性备份。 也可使用 Azure 备份方法。

(可选)使用 Azure Blob Fuse 将高度冗余的 Azure Blob 存储帐户,并写入 RMAN 备份,以增强复原能力。

业务连续性和灾难恢复

为保证业务连续性和灾难恢复,请考虑部署以下软件:

  • Oracle Data Guard Fast-Start故障转移 (FSFO) 数据库可用性
  • Oracle Data Guard Far Sync 提供零数据丢失防护。
  • Azure 可用性集或可用性区域中的多主模式或主动-主动模式的 Oracle GoldenGate 取决于 SLA 要求。

使用 可用性区域 实现区域内高可用性。 有关详细信息,请参阅 Azure 上 Oracle 数据库的参考体系结构

将 Azure 可用性区域 和 Oracle Active DataGuard 与 FSFO 结合使用,可以实现数据库层 99.99% 的运行时间可用性。

请考虑使用邻近的放置组来降低应用层和数据库层之间的延迟。

监视

设置 Oracle Enterprise Manage 以进行管理、监视和日志记录。

后续步骤

有关支持信息,请参阅以下文章:

详细了解各种体系结构组件: