Oracle 19.28 RU 升级最佳实践指南
前言
作为关键基础设施维护的关键环节,季度补丁更新(Release Update)是保障 Oracle 数据库安全与稳定的核心任务。本文将以生产环境标准流程,详细记录 Oracle 19.3.0 单机环境升级至 19.28 RU 的完整操作,重点阐述技术风险控制与最佳实践。
补丁获取与预处理
MOS 补丁下载
访问 My Oracle Support(MOS)下载页:
RU 19.28
下载对应 Oracle 版本的补丁,根据实际需要使用:
补丁包预处理
将补丁文件上传至数据库服务器 /soft
目录下,授予对应 oracle 用户的执行权限:
使用 oracle 用户解压补丁包:
到这补丁包就算搞定了。
预升级检查
OPatch 工具更新
OPatch 补丁更新是替换 ORACLE_HOME 目录下的 OPacth 目录,建议都使用最新的版本进行替换:
补丁冲突与空间检查
在正式升级前,一般都会对补丁进行检查,确保正式升级万无一失,这一步主要是检查磁盘空间,补丁冲突是否符合补丁安装条件:
DBRU 检查:
OJVM 检查:
确保检查都成功,就可以正式升级补丁。
停机窗口升级操作
从这一步开始,就需要数据库停机了~
关闭数据库资源
关闭数据库以及监听:
确保没有 oracle 相关的服务运行。
应用 DBRU 补丁
正式升级:
应用 OJVM 补丁
正式升级:
检查补丁版本:
可以看到,补丁都已经升级完成,但是仅是软件层面,数据库层面还没更新。
启动数据库
补丁升级完成后就可以打开数据库服务:
监听建议先不开,防止有用户连接进行操作。
执行 datapatch
执行 datapatch 更新数据库字典(执行比较慢):
重新编译失效对象
补丁升级过程中可能会导致部分对象失效,建议升级后执行无效对象编译进行修复:
$ORACLE_HOME/perl/bin/perl $ORACLE_HOME/rdbms/admin/catcon.pl -n 1 -e -b utlrp -d $ORACLE_HOME/rdbms/admin utlrp.sql
升级后验证
升级后检查补丁应用情况以及无效对象检查:
-- 验证补丁应用
SELECT patch_id, status, description FROM dba_registry_sqlpatch;-- 检查无效对象
SELECT owner, object_name, object_type
FROM dba_objects
WHERE status = 'INVALID';-- 确认版本
SELECT banner_full FROM v$version;
启动监听服务
确认升级没有问题后,打开监听:
至此,Oracle 19.28 补丁升级完成。