Ubuntu如何更新Oracle版本
小樊
40
2025-12-28 12:40:58
Ubuntu上升级Oracle版本的正确路径
一、先明确升级类型
软件包更新:仅更新客户端/工具或已安装组件的小版本,不涉及数据库数据字典与功能版本。
补丁更新:安装RUs/MRPs/一次性补丁 ,修复缺陷与安全漏洞,数据库版本号通常不变。
数据库版本升级:把数据库从旧版本(如12.2/19c )升到新版本(如23ai ),涉及数据字典迁移与兼容性变更。
二、升级前准备
备份与回退方案:使用RMAN 做全库+归档备份,或导出关键数据;准备可回退的还原点/闪回 或完整克隆环境。
认证与兼容性:在My Oracle Support 核对操作系统、硬件、第三方应用对新版本的支持;阅读新版本的行为变更/弃用特性 。
新Oracle Home:在新目录安装新版本软件,采用异机/异目录升级 (out-of-place),便于回退与并行维护。
补丁就绪:在新Oracle Home应用最新**Release Update(RU)与 Monthly Recommended Patches(MRP)**后再执行升级。
多租户要求:从23ai 起仅支持CDB 架构;若是非CDB ,需先转换为PDB 并插入到目标CDB 中。
三、安装新版本Oracle软件
获取介质:从Oracle下载适用于目标版本的Linux x86-64 安装介质(ZIP/压缩包或RPM)。Ubuntu上可直接解压ZIP运行runInstaller ;若是RPM,可用alien 转换为DEB后安装(示例:sudo alien -d --scripts file.rpm;sudo dpkg -i file.deb)。
安装要点:选择“仅安装数据库软件”,指定新的ORACLE_HOME 与Oracle Inventory ;安装完成后按提示以root执行orainstRoot.sh 与root.sh 。
四、执行数据库升级
方式A(推荐)AutoUpgrade:从新Oracle Home的**$ORACLE_HOME/bin获取最新 AutoUpgrade**(MOS:Doc ID 2485457.1 )。创建最简配置文件(如:upg.cfg,包含global.db_name、source_home、target_home、run_utlrp等),依次执行:
分析阶段:java -jar autoupgrade.jar -config upg.cfg -mode analyze
修复问题后部署:java -jar autoupgrade.jar -config upg.cfg -mode deploy
默认配置下,升级失败会自动用闪回数据库 回退到升级前状态(企业版特性)。
方式B DBUA:运行dbua (图形或字符界面),按向导完成预检查、升级与后处理,适合希望可视化操作与自动化处理的场景。
方式C 手动升级(不推荐,除非熟悉流程):
启动到升级模式:STARTUP UPGRADE
执行升级脚本:@?/rdbms/admin/catupgrd.sql
编译无效对象:@?/rdbms/admin/utlrp.sql
视需要提升兼容级别:ALTER SYSTEM SET COMPATIBLE=‘<新版本>’ SCOPE=SPFILE; 重启生效
升级完成后重启并验证。
五、升级后验证与常见问题
版本与组件:SELECT * FROM v$version; 与 SELECT * FROM product_component_version; 确认新版本与组件状态。
无效对象与日志:执行@?/rdbms/admin/utlrp.sql重编译;检查**$ORACLE_BASE/cfgtoollogs/(DBUA)或 $ORACLE_HOME/cfgtoollogs/catupgrd/**(手动)日志是否有错误。
客户端与连接:升级后同步更新Oracle Instant Client/客户端 至相同或兼容版本;检查tnsnames.ora/sqlnet.ora 与连接串;必要时调整应用JDBC/ODBC驱动。
性能与回归:保留至少31天AWR 基线,使用SQL Performance Analyzer 与Database Replay 评估性能与SQL回归,必要时用SQL Plan Management 稳定执行计划。