重庆思庄Oracle、Redhat认证学习论坛

标题: 检查补丁是否与现有补丁冲突时报错 [打印本页]

作者: ZhangQi    时间: 前天 18:11
标题: 检查补丁是否与现有补丁冲突时报错
准备在11.2.0.1版本的oracle数据库中安装补丁9352237(11.2.0.1.1),执行以下命令检查补丁是否与现有补丁冲突时出现报错:

[oracle@dbserver OPatch]$ ./opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /setup/psu/11.2.0.1.1/9352237/
Java HotSpot(TM) Server VM warning: You have loaded library /u01/app/oracle/product/11.2.0/db_1/oui/lib/linux/liboraInstaller.so which might have disabled stack guard. The VM will try to fix the stack guard now.
It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.
java.lang.UnsatisfiedLinkError: /u01/app/oracle/product/11.2.0/db_1/oui/lib/linux/liboraInstaller.so: /u01/app/oracle/product/11.2.0/db_1/oui/lib/linux/liboraInstaller.so: wrong ELF class: ELFCLASS64 (Possible cause: architecture word width mismatch)

检查了java的架构、liboraInstaller.so 的架构,结果均为64位,同时修复了栈保护:sudo execstack -c $ORACLE_HOME/oui/lib/linux/liboraInstaller.so ,并检查了ORACLE_HOME 和 PATH环境变量设置没有错误后,再次执行仍然报错;

最后排查发现:安装补丁9352237(11.2.0.1.1)readme文件中提示需要11.2.0.1.0 或更高版本来应用此补丁,而11.2.0.1数据库安装后自带的opatch版本是11.1.0.6.6,于是需要安装新版本,在安装新版本opatch时却安装的是32位的安装包