温馨提示×

Ubuntu Oracle升级需要注意什么

小樊
43
2025-11-29 01:17:40
栏目: 云计算

Ubuntu 上 Oracle 升级的关键注意事项

一 支持性与兼容性

  • Ubuntu 并非 Oracle Database 官方支持平台,官方认证与平台支持矩阵通常覆盖 RHEL/Oracle Linux/SLES 等。若用于生产,建议优先选用受支持发行版;如必须在 Ubuntu 上运行,务必在测试环境充分验证并评估风险。另需注意:Oracle 19c 是非 CDB 架构的终端版本,后续仅支持 CDB/PDB 架构演进。升级前务必核对应用与驱动(JDBC/ODBC/OCI)对新版本的兼容性。

二 升级前检查清单

  • 完整备份与可回滚方案:使用 RMAN 执行全库备份(含归档日志),并验证可恢复性;准备回滚计划与停机窗口。
  • 空间与资源:确保 /u01 等目录、归档与闪回区、临时表空间、内存与 CPU 资源充足。
  • 预升级诊断与修复:从 My Oracle Support Doc ID 884522.1 获取最新的 preupgrade.jar,解压至 $ORACLE_HOME/rdbms/admin,运行预升级检查并依建议执行 preupgrade_fixups.sql(可用 catcon.pl 执行),生成并审阅日志。
  • 统计信息与回收站:收集 字典统计信息(如 DBMS_STATS.GATHER_DICTIONARY_STATS),执行 PURGE DBA_RECYCLEBIN 以减少升级干扰。
  • 组件与任务:关闭监听与 OEM/DB Console(如 lsnrctl stop、emctl stop dbconsole),禁用定时作业与批处理,避免升级期间 DDL/DML 冲突。
  • 兼容性核查:确认 glibc 等基础库满足目标版本要求(如 Oracle 19c 要求 glibc ≥ 2.17),并校验 64 位架构一致性。

三 升级方式与关键限制

  • DBUA 图形化升级:可在新 Oracle Home 中启动,支持 CDB/PDB 与非 CDB。升级前需安装最新的 AutoUpgrade 工具;若启用了 Oracle Database Vault,需满足相应前置要求。
  • 重要限制:当源与目标 Oracle Home 所有者不同时,DBUA 会报错 PRKH-1014,需保证同一 OS 用户或改用手动升级。
  • 停机与还原点:如需使用 保证还原点(Guaranteed Restore Point),升级期间需开启 ARCHIVELOGFLASHBACK(可通过查询 V$DATABASE 确认)。
  • 静默升级:可使用 DBUA -silent 进行无人值守升级。
  • 手动升级路径:停止 DBUA 后必须手工完成升级流程;也可选择纯软件安装新版本 Oracle Home 后迁移/升级数据库。

四 升级后验证与性能稳定

  • 升级脚本与对象编译:升级完成后执行 postupgrade_fixups.sql,随后运行 utlrp.sql 编译失效对象,并再次核查日志确保无错误。
  • 版本与对象核查:执行 SELECT * FROM V$VERSION; 确认版本;查询 DBA_OBJECTS 状态,确保无效对象已清零。
  • 统计信息与回收站:再次收集 字典统计信息,必要时清理回收站。
  • 监听与控制台:确认 监听已启动(lsnrctl start),按需启动 OEM/DB Console
  • 性能回归控制:使用 SQL 计划管理(SPM) 导入升级前基线,抑制潜在计划倒退,保障关键 SQL 性能稳定。

五 Ubuntu 特有的实践建议

  • 软件获取与安装方式:Oracle 官方不提供 .deb 安装包,常见做法是使用 RPM 包 + alien 转换或直接运行 runInstaller 在新目录安装软件;不建议依赖将 RPM 简单转换为 DEB 的做法,生产环境优先选择受支持发行版或官方安装介质。
  • 依赖与用户:安装 libaio1、unixODBC 等依赖,创建 oracle/oinstall/dba 用户与目录(如 /u01/app/oracle),并正确设置 ORACLE_HOME、PATH、LD_LIBRARY_PATH、TNS_ADMIN 等环境变量。
  • 运行与升级:以 oracle 用户执行安装/升级与启停操作,避免 root 直连数据库;升级期间保持 root 仅用于系统层面维护。

0