Linux 上 Oracle 升级与补丁管理实战指南
一 规划与准备
二 补丁管理流程(OPatch)
$ORACLE_HOME/OPatch/opatch lsinventory、opatch version。$ORACLE_HOME/OPatch。lsnrctl stop、sqlplus / as sysdba → shutdown immediate。$ORACLE_HOME/OPatch/opatch apply(GI/集群按节点串行执行,是否可滚动以 README 为准)。startup migrate → 执行 @$ORACLE_HOME/rdbms/admin/catbundle.sql psu apply → shutdown immediate → startup。@$ORACLE_HOME/rdbms/admin/utlrp.sql。opatch lsinventory、select * from v$version;、检查 alert.log。opatch rollback -id <补丁号>;若涉及数据库层脚本,按 README 执行回滚 SQL。三 数据库版本升级流程(示例 19c)
v$version 与 dba_registry_history。runInstaller 升级 ORACLE_HOME(或使用静默安装);安装结束按提示执行 root.sh。startup upgrade → @?/rdbms/admin/catupgrd.sql → shutdown immediate → startup → @?/rdbms/admin/utlrp.sql。select * from v$version;、utlrp.sql 编译结果、组件状态与 alert.log 无异常。四 操作系统与 GI 层补丁
preupgrade-assistant 并执行预检,随后通过 redhat-upgrade-tool 执行就地升级到 OL7.x,按向导完成并验证。五 验证与回退清单
$ORACLE_HOME/OPatch/opatch lsinventory 确认补丁号与版本;select * from v$version;。@?/rdbms/admin/utlrp.sql 编译无效对象;检查 dba_registry_history 与组件状态;巡检 alert.log 与监听状态。opatch rollback -id <补丁号>;PSU/CPU 回滚按 README 执行数据库层脚本;版本升级回退采用 RMAN 恢复或还原 ORACLE_HOME 的方式,确保应用与数据一致。