测试小姐姐说,测试环境和生产环境补丁号有不同,如图:
发现是dbpatch只在oracle用户下打了,没在grid用户下打,于是补上了。在打补丁的过程中报了错:
---------------------------Patching Failed---------------------------------
Command execution failed during patching in home: /oracle/app/12.1.0/grid, host: jbibpsp1dba.
Command failed: /oracle/app/12.1.0/grid/OPatch/opatchauto apply /soft/dbpatch/25433352 -oh /oracle/app/12.1.0/grid -target_type cluster -binary -invPtrLoc /oracle/app/12.1.0/grid/oraInst.loc -jre /oracle/app/12.1.0/grid/OPatch/jre -persistresult /oracle/app/12.1.0/grid/OPatch/auto/dbsessioninfo/sessionresult_jbibpsp1dba_crs.ser -analyzedresult /oracle/app/12.1.0/grid/OPatch/auto/dbsessioninfo/sessionresult_analyze_jbibpsp1dba_crs.ser
Command failure output:
==Following patches FAILED in apply:
Patch: /soft/dbpatch/25433352/25481150
Log: /oracle/app/12.1.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2018-03-09_15-47-58PM_1.log
Reason: Failed during Patching: oracle.opatch.opatchsdk.OPatchException:
Prerequisite check "CheckApplicable" failed.
support果然非常靠谱:
12c opatchauto: Prerequisite check "CheckApplicable" failed (文档 ID 1937982.1)
https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=532633986748906&id=1937982.1&displayIndex=7&_afrWindowMode=0&_adf.ctrl-state=11yn5wpv5u_204
原来在打grid时,应该将dbpatch该为grid:oinstall,否则会有问题。
另外,在RAC环境中,两边补丁版本不一样,集群将无法启动。下面这篇文章有几个比较实用的命令,比较小补丁和patchlvl的方法:
CRS-6706: Oracle Clusterware Release patch level ('nnn') does not match Software patch level ('mmm') (文档 ID 1639285.1)
https://support.oracle.com/epmos/faces/DocumentDisplay?_afrLoop=507233801935889&id=1952895.1&_afrWindowMode=0&_adf.ctrl-state=1ss1o48k1_4