检查补丁是否与现有补丁冲突时报错
准备在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) 服务器 VM 警告:您已加载库 /u01/app/oracle/product/11.2.0/db_1/oui/lib/linux/liboraInstaller.so,该库可能已禁用堆栈保护。VM 现在将尝试修复堆栈防护。
强烈建议您使用 'execstack -c <libfile>' 修复库,或使用 '-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: 错误的 ELF 类:ELFCLASS64(可能的原因:架构字宽不匹配)
检查了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位的安装包
准备在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) 服务器 VM 警告:您已加载库 /u01/app/oracle/product/11.2.0/db_1/oui/lib/linux/liboraInstaller.so,该库可能已禁用堆栈保护。VM 现在将尝试修复堆栈防护。
强烈建议您使用 'execstack -c <libfile>' 修复库,或使用 '-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: 错误的 ELF 类:ELFCLASS64(可能的原因:架构字宽不匹配)
检查了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位的安装包