linux、aix下出现qe-def-0285 登录失败 的新解决办法

最近在aix、linux下安装cognos10.2.1 64bit,并打 fp4补丁后出现了qe-def-0285,提示"libcoguda"网关找不到的问题,经研究后,有如下解决方案:1. 必须要有正确的profile,用32位的oracle库,这个大多数人都知道,我的例子如下(文件名:cogenv):# Oracle环境 export ORACLE_HOME=/opt/oracle...显示全部
最近在aix、linux下安装cognos10.2.1 64bit,并打 fp4补丁后出现了qe-def-0285,提示"libcoguda"网关找不到的问题,经研究后,有如下解决方案:

1. 必须要有正确的profile,用32位的oracle库,这个大多数人都知道,我的例子如下(文件名:cogenv):
# Oracle环境
export ORACLE_HOME=/opt/oracle/app/product/11.2.0/dbhome_1
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"
export TNS_ADMIN=$ORACLE_HOME/network/admin
export PATH=$ORACLE_HOME/bin:$PATH

# Cognos环境
# JAVA用的是IBM JDK 1.6 64bit版本
export JAVA_HOME='/opt/IBM/WebSphere/AppServer/java'  
export COG_ROOT=/opt/IBM/cognos/c10_64
#如果是aix,则变量名为LIBPATH
#/usr/lib/oracle/11.2/client/lib是linux下的oracle 11g 32位客户端,安装包:oracle-instantclient11.2-basic-11.2.0.4.0-1.i386.rpm
#aix下变量名改为LIBPATH
export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client/lib:$COG_ROOT/bin64:$COG_ROOT/bin:$LD_LIBRARY_PATH 
export PATH=$COG_ROOT/bin64:$PATH
2. cognos库文件与oracle库文件的匹配****重点来了:
cognos 10.2.1 for linux 在打上FP4补丁后,suse 11 sp3上出现了 qe-def-0285错误,而同样的配置,rhel7上是正常的,这是为什么呢?
反复研究之后得到最终答案:cognos的库与oracle的库不匹配!
$COG_ROOT/bin 下有4个库文件:
libcogudaor9.so
libcogudaor10.so
libcogudaor11.so
libcogudaor12.so  (这个在aix的版本里没有)
按我的分析,cognos在连接oracle数据源时,是按版本号的倒序去调用libcoguda库文件的,因此首先找到了libcogudaor12.so,再去找与之匹配的oracle库文件(libclntsh.so),这时要找的将是12c版本的客户端库文件,而我安装的是11g的客户端,因此报错。此问题只出现在特定的linux版本或特定的aix版本,比如rhel7就没这问题

最终解决办法:删掉libcogudaor12.so,或改用12c的oracle 客户端(32bit),安装包:oracle-instantclient12.1-basic-12.1.0.1.0-1.i386.rpm,两个办法任选其一均可。
在aix上也有类似的问题,libcogudaor11.so,需对应安装11g的32位客户端,若客户端为10g,则应删掉libcogudaor11.so。收起
参与7

查看其它 4 个回答doujiafa的回答

doujiafadoujiafa商业智能工程师wondertek
分析透彻,研究颇深。称赞!
保险 · 2014-11-24
浏览1337

回答者

doujiafa
商业智能工程师wondertek
擅长领域: 大数据商业智能

doujiafa 最近回答过的问题

回答状态

  • 发布时间:2014-11-24
  • 关注会员:2 人
  • 回答浏览:1337
  • X社区推广