一、环境说明:
名称 | 内容 |
系统版本 | Windows10 |
数据库版本 | 19.3.0.0.0 |
SID | orcl |
二、配置OPatch
2.1.解压OPatch
--解压至$ORACLE_HOME位置
2.2.查看版本
--命令
OPatch version
三、准备打补丁
3.1.解压补丁文件
--解压
unzip p35962832_190000_MSWIN-x86-64.zip
3.2.临时补丁冲突检查
cd 35962832opatch prereq CheckConflictAgainstOHWithDetail -ph ./
3.3.$ORACLE_HOME设置
set PATH=%ORACLE_HOME%\perl\bin;%PATH%set PERL5LIB=
3.4.关闭数据库相关服务
--关闭数据库
sqlplus / as sysdbashutdown immediateexit
--关闭监听
lsnrctl stop
--关闭相关服务
--显式停止分布式事务处理协调器服务
net stop msdtc
四、打补丁
4.1.应用补丁
--应用
cd 35962832opatch apply
4.2.检查补丁
--查看
opatch lspatches
五、应用补丁后
5.1.将修改后的sql文件加载到数据库中
--执行
sqlplus /nologconnect / as sysdbastartupquitcd %ORACLE_HOME%/OPatchdatapatch -verbose
5.2.编译无效对象
--执行
cd $ORACLE_HOME/rdbms/adminsqlplus /nologSQL> CONNECT / AS SYSDBASQL> @utlrp.sql
5.3.查看版本
--执行
SELECT BANNER_FULL FROM v$version;
六、补丁回退
6.1.关闭Oracle相关服务
--关闭数据库
sqlplus / as sysdbashutdown immediatequit
--关闭监听
lsnrctl stop
6.2.补丁回退
--执行
opatch rollback -id 35962832
6.3.将修改的sql文件加载到数据库中
--执行
lsnrctl startsqlplus /nologconnect / as sysdbastartupquitcd %ORACLE_HOME%/OPatchdatapatch -verbose
6.4.编译无效对象
--执行
cd $ORACLE_HOME/rdbms/adminsqlplus /nologSQL> CONNECT / AS SYSDBASQL> @utlrp.sql
6.5.查看版本
--执行
SELECT BANNER_FULL FROM v$version;
七、问题及解决
7.1. End
--总结
经历了前几次在linux的环境下各个版本的打补丁以及回退之后,这次的过程尤为顺利,一个bug也没有出现