在 Linux 上将 Oracle Database 11g 从 Windows 迁移到 Oracle Database 19c
简介
本教程演示如何使用 Oracle Recovery Manager (RMAN) 备份和还原、物理备用进程、数据库升级以及非 CDB 到 PDB 插件将 Oracle Database 11g 数据库从 Windows 迁移到 Linux 上的 Oracle Database 19c。
该过程通过以下方式减少应用程序停机:在切换之前恢复目标系统上的数据库;手动传送归档日志;在切换窗口期间应用剩余归档日志;升级数据库;将其插入容器数据库 (CDB)。
环境详细信息

目标
- 使用物理备用、升级和插件流程将 Oracle Database 11g 从 Windows 迁移到 Linux 上的 Oracle Database 19c,同时尽可能减少应用停机时间。
Prerequisites
- 源数据库必须处于
ARCHIVELOG模式。 - 必须在源数据库上启用强制日志记录。
- 预配 OCI 环境,例如区间、虚拟云网络 (VCN)、子网等。
- 预配在 19c 上运行的目标多租户数据库。
任务 1:使用“NFS”存储备份源数据库 (Windows)。

任务 2:在阶段 DB 中启动数据库 NOMOUNT 并开始在 OCI 中恢复数据库。
- 以不装载模式启动数据库。

- 在后台模式下运行数据库还原脚本。


任务 3:还原完成后,将所有归档日志从源数据库复制到 NFS 位置,直到切换。
- 应在目标备用数据库上启用
MRP。 - 目录归档目录路径和在目标数据库上应用日志。

MRP将选择这些归档日志,并在编目归档日志后开始恢复。

任务 4:停止恢复,激活备用数据库,并在目标数据库系统中的 OPEN UPGRADE 模式下打开数据库。
- 停止
MRP进程并激活源数据库中的备用数据库。

- 以升级模式打开数据库。

任务 5:将阶段数据库升级到目标数据库系统中的 19c 版本。
- 在
Source DB系统上运行升级脚本。



任务 6:启动数据库,运行升级后修复脚本,并运行 UTLRP 命令以编译无效对象。
- 登录到目标数据库系统并启动数据库,然后在目标数据库系统上运行
utlrp命令。


- 在目标数据库系统中运行升级后修复脚本。


任务 7:升级阶段数据库上的时区。
- 在
upgrade模式下启动数据库。

- 在将非 CDB 插入到
CDB之前升级暂存数据库中的时区。


任务 8:使用 PDB 插件的步骤。
- 以只读模式启动数据库,并为
PDB插入创建 XML 文件。

- 检查插件之前目标
CDB数据库的兼容性。因此,它应显示yes。

- 检查
PDB插件违规是否存在任何错误。可以忽略表空间加密的警告。

- 运行脚本以在目标
CDB上创建可插入数据库并在后台模式下运行。

- 在目标数据库系统中的
PDB插件之后运行noncdb_to_pdb.sql脚本。

- 打开
PDB数据库并设置所有实例的保存状态。

- 运行
datapatch以对目标数据库系统中的PDB数据库应用当前补丁程序。


任务 9:PDB 数据库的加密密钥。
- 设置
PDB数据库的加密密钥。

任务 10:确保对数据库注册表的组件进行后期检查验证。
- 验证数据库组件

小结
此方法的重要优势是,使用跨平台数据库 RMAN 备份和还原,您可以使用多租户数据库系统轻松在 Windows 与 Linux 之间执行数据库迁移。对于最短停机时间迁移要求,此方法有助于像 Data Guard 一样设置数据库和插件并将其升级到容器数据库。
相关链接
确认
作者 - Yogesha D K(客户成功服务高级云工程师)
更多学习资源
通过 docs.oracle.com/learn 浏览其他实验室,或者通过 Oracle Learning YouTube 频道访问更多免费学习内容。此外,请访问 education.oracle.com/learning-explorer 以成为 Oracle Learning Explorer。
有关产品文档,请访问 Oracle 帮助中心。
Migrate Oracle Database 11g from Windows to Oracle Database 19c on Linux
G57064-01
Copyright ©2026,
Oracle 和/或其关联公司。