温馨提示×

Linux Oracle 升级注意事项有哪些

小樊
32
2025-12-06 15:39:46
栏目: 云计算

Linux 上 Oracle 升级注意事项清单

一 规划与兼容性

  • 明确目标版本与路径:优先选择长期支持版本(如 19c、23ai),并确认从当前版本到目标版本是否存在直接升级路径;若不支持,需先升级到可直连的中间版本(例如早期版本需先到 12.2 再到更高版本)。升级前务必阅读目标版本的行为变更、弃用与不再支持特性
  • 校验 COMPATIBLE 参数:该参数决定数据库能力与可降级性。一般要求源库在升级前将 COMPATIBLE 至少设为目标版本所需的最小值;提高该值后不可降级。例如升级到 21c 要求源库 COMPATIBLE≥12.2.0,且 21c 的默认值为 21.0.0
  • 版本与补丁就绪:在新 ORACLE_HOME 安装**最新 RU(Release Update)/MRP(Monthly Recommended Patches)**及必要的 one-off 补丁,再进行数据库升级;不建议在升级过程中再打补丁。
  • 架构选择:升级到 23ai 仅支持 多租户(CDB/PDB);若是 Non-CDB,需在升级过程中转换为 PDB 并插入到目标 CDB
  • 第三方与中间件:同步验证应用与中间件对目标数据库版本的兼容性与驱动适配(JDBC/ODBC/OCCI 等)。

二 备份与回退

  • 全量可恢复性验证:在升级前完成RMAN 全库备份(含归档日志)并做还原演练,确保备份可用;这是唯一可靠的回退保障。
  • 采用 Out-of-Place 升级:在新目录部署新 ORACLE_HOME,保留旧环境以便快速回切;不建议就地升级(in-place),因其停机更长、回退复杂
  • 创建还原点:在升级前创建**保证还原点(Guaranteed Restore Point)**或可用备份,便于升级失败快速回退。
  • 回退预案细化:明确回退触发条件、步骤与负责人;如使用 Data Guard,按官方流程在升级前后切换/恢复角色,确保主备一致性与数据不丢。

三 系统与存储准备

  • 资源与参数:确保 /u01 等挂载点、SYSTEM 等系统表空间、SGA/PGA 与关键内存参数充足;历史版本升级常见要求如 SHARED_POOL_SIZE、JAVA_POOL_SIZE ≥150MB,并在升级会话使用 STARTUP UPGRADE
  • 时区与数据一致性:升级前运行 utltzuv2.sql 校验并必要时应用 TSTZ 补丁,避免时区数据导致升级或复制异常。
  • 监听与网络:检查 listener.ora/tnsnames.ora 配置与监听状态,确保应用与升级工具可连通数据库。
  • Linux 发行版差异:若从 Oracle Linux 8 升到 9,注意 SHA-1 签名被弃用,存在 RSA/SHA-1 签名的包会阻止升级;需替换或移除相关包,并按需迁移传统网络脚本(如执行 nmcli connection migrate)。

四 升级执行与验证

  • 升级方式:优先使用 AutoUpgrade 工具执行升级与(如需要)Non-CDB→PDB 转换,具备并行、多节点(RAC)支持、加密库处理等优势;升级前确保有可行回退方案。
  • 升级路径与脚本:若需多步升级(如 11.2→12.2→21c/23ai),每步都要运行对应版本的预升级检查脚本并完成中间升级,再进入下一步。
  • 关键步骤清单:停库→新 ORACLE_HOME 安装与打补丁→(如 23ai)Non-CDB 转 PDB→用 AutoUpgrade 执行升级→执行升级后任务(如组件升级、统计信息收集、无效对象编译)→业务侧回归。
  • 日志与告警:全程关注 alert.log、install.log、AutoUpgrade 日志,定位错误与性能瓶颈。
  • 升级后验证:连接数据库执行 SELECT * FROM v$version; 确认版本;复核 COMPATIBLE 设置、组件状态、无效对象、统计信息与健康检查。

五 高可用与 Data Guard 场景

  • 物理备库就地升级:主备均在新 ORACLE_HOME 就位后,先停主备相关进程与监听,在备库先挂载新版本并开启 Redo Apply,随后升级主库;主库升级完成后打开,备库通过重做应用自动同步到新版本。
  • 逻辑备库:按官方步骤在升级前后进行角色与配置调整,确保 SQL Apply 能正确处理升级 DDL 与数据变化。
  • 升级前后检查:关注是否存在 NOLOGGING 操作导致备库需额外恢复,以及 OFFLINE IMMEDIATE 的数据文件/表空间需先恢复或置为可用状态。

0