首页 > 代码库 > OPatch failed with error code 73

OPatch failed with error code 73

    前几天给一套LINUX下的RAC数据库打补丁升级,有一台机器更新失败了,相关的异常内容如下:

Restoring "/u01/app/oracle/11.2.0/db_1" to the state prior to running NApply...
Checking if OPatch needs to invoke ‘make‘ to restore some binaries...
Make failed to invoke "/usr/bin/make -f ins_srvm.mk install_srvm ORACLE_HOME=/u01/app/oracle/11.2.0/db_1"....‘ins_srvm.mk:68: warning: overriding commands for target `libsrvm11.so‘
ins_srvm.mk:31: warning: ignoring old commands for target `libsrvm11.so‘
ins_srvm.mk:71: warning: overriding commands for target `libsrvmocr11.so‘
ins_srvm.mk:34: warning: ignoring old commands for target `libsrvmocr11.so‘
ins_srvm.mk:74: warning: overriding commands for target `libsrvmhas11.so‘
ins_srvm.mk:37: warning: ignoring old commands for target `libsrvmhas11.so‘
gcc: error trying to exec ‘cc1‘: execvp: Permission denied
make: *** [/u01/app/oracle/11.2.0/db_1/rdbms/lib/config.o] Error 1


--------------------------------------------------------------------------------
Failed to run make commands. They are stored in file ‘/u01/app/oracle/11.2.0/db_1/.patch_storage/NApply/2014-06-16_15-32-06PM/make.txt‘
Invoke these commands manually to restore the binaries in the Oracle Home.
OPatch failed to restore OH ‘/u01/app/oracle/11.2.0/db_1‘. Consult OPatch document to restore the home manually before proceeding.

NApply was not able to restore the home. Please invoke the following scripts:
- restore.[sh,bat]
- make.txt (Unix only)
to restore the ORACLE_HOME. They are located under
"/u01/app/oracle/11.2.0/db_1/.patch_storage/NApply/2014-06-16_15-32-06PM"

UtilSession failed: Re-link fails on target "install_srvm".

Log file location: /u01/app/oracle/11.2.0/db_1/cfgtoollogs/opatch/opatch2014-06-16_15-32-06PM_1.log

OPatch failed with error code 73



ERROR:
Framework setup check failed on all the nodes
Verification cannot proceed

    从异常内容上可以看到,跟C及C++的相关类库不全有关系。于是,从新按照官方的手册在此机器上逐个把rpm包重新装一遍,发现果然有部分的安装包是没有安装的。。。此环境为之前一个新同事安装,安装的时候是在另外一台机器上执行的安装文件,这边的机器是被同步过来的。由此可以判断,ORACLE在安装的过程中,自行的检查也未必会完整,并且在缺少一些C++类库包的情况下,数据库及集群的相关资源并不会受到影响,但是当打补丁的时候就会发现有异常了。

    在此进行记录,供大家进行参考。