从tb拿到两个文件上面一个是补丁文件,下面一个是Opatch
解压后
① 按照readme文件,把Opatch文件放到(%ORACLE_HOME%)e:app\administrator\product\11.2.0\dbhome_1下面
②再把12429529补丁文件放到Opatch文件里面
③[ctrl+shift+esc]:关闭跟Oracle相关的服务
④配置环境变量:ORACLE_HOME:e:app\administrator\product\11.2.0\dbhome_1和Opatch:%ORACLE_HOME%\Opatch的路径
⑤cmd:进入到补丁的路径下面,类似下图路径
⑥opatch inventory可以查看当前打的补丁
⑦opatch apply 打补丁,顺利的话,这一步就完成啦
但是我遇到了以下的问题:
①ZOP-51: The patch location is not valid for apply, because it doesn't have correct metadata, or it points to a patch directory
原因:我执行opatch apply命令的位置不对
解决办法:正确的应该在补丁[类似12429529]这样字的文件下面执行 opatch apply
②执行opatch apply的时候 报错:Prerequisite check "CheckActiveFilesAndExecutables" failed
原因:opatch需要用到的文件被占用了,就算关闭Oracle的服务再执行也会报错,报错日志显示有些dll文件仍被占用
解决办法:1.把Oracle相关的环境变量先删除掉(注意保存变量值),重启服务器,再把删掉的环境变量加回去(这一步是为了避免Oracle开机的时候打开dll)
再次执行opatch apply
完成打补丁。