今天一个同事打补丁报错(11.2.0.4RAC , 补丁是160719。操作系统版本是redhat 7.1)
从表面看是opatch 版本低的原因,但是查看readme只需要.6以上的补丁程序就ok,不过既然提示低,那就下个新版本。opatch下载更新为.14,报错依旧,查看mos文章
CAUSE
There are several possibilities that can cause this:
1). "opatch auto <UNZIPPED_PATCH_LOCATION>". The directory where patch is unzipped is not supplied as <UNZIPPED_PATCH_LOCATION>
2). patch is downloaded and unzipped into an existing and non-empty directory.
3). opatch executable is not installed and launched from $GRID_HOME/OPatch.
4). $OH/.patch_storage cannot be created.
5). listener is running from DB home
6). "OPatch" directory in DB home is owned by root:oinstall instead of <homeowner>:<oinstall> as required.
7). GI user and RDBMS user are different. workaround is to apply manually (Note: 1210964.1. This is an internal note, please contact Oracle Support to get assistance).
SOLUTION
1). Make sure the <path> after "opatch auto <path> " is pointed the directory where patch is unzipped.
2). Make sure the patch is downloaded and unzipped into an empty directory.
3). OPatch should be installed in $GRID_HOME/OPatch. It should not be installed outside of $GRID_HOME. Use the syntax given in readme unzip <opatch zipfile> -d $GRID_HOME to install opatch to $GRID_HOME.
Do not launch opatch directly from $GRID_HOME/OPatch. i.e.
cd $GRID_HOME/OPatch
./opatch auto
This will cause an issue fixed in bug: 10009350. Workaround for bug 10009350 is:
As root user:
cd $GRID_HOME/crs/install
./rootcrs.pl -patch
Instead, one should include the $GRID_HOME/OPatch in the path, and launch opatch from the unzipped patch directory.
4). If opatch complain $ORACLE_HOME/.patch_storage cannot be created, manually create .patch_storage and give read-write-execute permission for the normal user (who operates OPatch)
5). Check if there is listener running out of DB home, if so shutdown listener from DB home.
6). For each home to be patched, "OPatch" directory in DB home must be owned by <homeowner>:<oinstall>.
See: Document 1553964.1 "This Patch Is Not Applicable" Encountered While Using 'opatch auto' Where 'OPatch' Directory is Not Owned by <homeowner>:<oinstall>
If above steps have been examined, but you are still getting "opatch Applicable check failed", please contact Oracle Support.
7). If GRID user and RDBMS user are different, workaround is to apply manually (Note: 1210964.1. This is an internal note, please contact Oracle Support to get assistance). For Oracle Restart environment, one can use note 1089476.1.
补丁顺利完成,总结更改过程