在多种情况下,您需要将 Oracle 数据库迁移到新服务器。这可能是由于本地系统的硬件生命周期原因,或者您需要将操作系统 (OS) 从 Enterprise Linux 8 升级到 Enterprise Linux 9。在本文中,我想讨论一下我推荐的此类迁移方法,这些方法考虑到了易用性和减少停机时间。我不会在这里讨论迁移到 Oracle 云,因为推荐的方法是使用 Oracle 的零停机迁移工具。
对于迁移到另一台服务器,我们有不同的可能性:
- 数据泵 expdp/impdp
- 逻辑复制,例如 Golden Gate
- 使用 Data Guard(或第三方产品,如标准版 2 DB 的 dbvisit 备用数据库)设置备用数据库,并在切换期间进行切换
- 如果已使用多租户架构,请使用可刷新的 PDB。在迁移过程中,停止源 PDB 并进行最后的刷新,然后停止刷新并以读/写方式打开目标 PDB。
- 重新定位 PDB
- 拔下 PDB,复制 PDB 相关文件并插入 PDB
- RMAN 备份和恢复。为了减少停机时间,还可以结合定期在目标数据库上恢复增量备份,直至切换完成,并将最后一个增量备份应用到目标数据库。
- RMAN 重复
- 数据泵完全可传输,您可以在其中将源表空间设置为只读,导出元数据并将数据文件物理移动到目标,您可以在其中导入元数据。
- 可传输表空间。这可以与增量备份结合使用,实现跨平台迁移到不同的字节序,具体请参见 MOS 文档“V4 使用跨平台增量备份减少可传输表空间停机时间 (文档 ID 2471245.1)”。
- 将 ASM 设备从旧服务器分离并连接到新服务器。
- 备注:这类似于在 Oracle 数据库机上使用数据保留重新配置 (DPR) 迁移到新操作系统版本时发生的情况。请参阅我的同事 Jérôme Duba 的博客:https: //www.dbi-services.com/blog/author/jerome-dubar/
- 只需将所有需要的文件复制(例如使用 scp)到新服务器
还有更多可能性,但根据以上列表,您应该能找到一种符合您需求的方法。上述某些方法确实需要相同的操作系统和硬件架构(无需更改字节序),而有些方法则完全独立于平台、版本或字节序更改(例如使用数据泵或 Golden Gate 进行的逻辑迁移)。
我认为最好的方法之一是可刷新 PDB的可能性,因为
- 这很容易做到
- 在切换期间提供短暂的停机时间
- 允许回退,因为之前的 PDB 仍然可用
- 允许在不同时间单独迁移 PDB
- 也允许将非 CDB 迁移到 PDB。也就是说,我可以将非 CDB 刷新为 PDB。
- 它从 12.2 开始可用,也可以与标准版 2 (SE2) DB 一起使用
- 允许转到不同的版本更新(RU)
- 甚至允许转到不同的主要版本,然后在目标 CDB 上运行 PDB 升级
- 如果源 PDB 位于 SE2 上,那么目标 PDB 也可以位于企业版 (EE) 上
- 移动透明数据加密的 PDB 几乎与移动非加密的 PDB 一样简单
- 由于 Oracle 在克隆 PDB 时使用块级复制机制,因此 PDB 的初始复制可以非常快速地完成,并且在 EE 上也允许并行性
- 自 19c 起,我们可以在每个 CDB 中使用 3 个 PDB,而无需多租户选项的许可。这为将 PDB 迁移到哪个 CDB 提供了一定的灵活性。
您可以查看此博客,了解通过可刷新 PDB 机制进行迁移时要执行的步骤。
我们可以将 19c 数据库迁移到具有可刷新 PDB 的 23ai 吗?是的,我们可以这样做,如下所示:
备注:下面描述的整个过程可以通过自动升级工具自动完成。但是,为了分别查看每个步骤,我在这里手动执行了操作。
1.准备源CDB,日期为19.22:

- 创建可刷新的 PDB
为了在 Oracle Cloud 和我的本地 19.22.-DB 之间建立连接,我通过 ssh-tunnel 使用了此处描述的方法:
https://www.ludovicocaldara.net/dba/push-pdb-to-cloud/
在目标服务器上:

在源服务器上:

3.在目标服务器上将 PDB 升级到 23ai

备注:正如最初提到的,我应该在整个过程中使用自动升级(或仅升级),因为 $ORACLE_HOME/bin/dbupgrade 在 23ai 中已不再受支持,但出于可刷新 PDB 的演示目的,这是可以的。
4.升级后的最后步骤

总结
如果您还没有迁移到多租户架构,我建议您尽快迁移到多租户架构。这会让许多 DBA 工作变得轻松许多。尤其是迁移到具有可刷新 PDB 的新服务器时,操作起来非常轻松,停机时间短,灵活性高,而且刷新期间几乎不会对源 PDB 造成影响。最重要的是,您在此过程中不会丢失源 PDB,如果测试显示目标 PDB 无法正常工作,还可以恢复到源 PDB。
原文地址:https://www.dbi-services.com/blog/migrating-an-oracle-database-to-another-server/
原文作者: Clemens Bleile




