温馨提示×

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_HOMEOracle Inventory;安装完成后按提示以root执行orainstRoot.shroot.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 AnalyzerDatabase Replay评估性能与SQL回归,必要时用SQL Plan Management稳定执行计划。

0