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/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

5同行回答

liyuhengliyuheng软件开发工程师永兴科技
太棒了显示全部

太棒了

收起
软件开发 · 2015-12-25
浏览1501
Alex97Alex97网站架构师it
回复 1# flippy    又是一位大神啊。。。。显示全部
回复 1# flippy


   又是一位大神啊。。。。收起
IT其它 · 2014-12-21
浏览1466
doujiafadoujiafa商业智能工程师wondertek
分析透彻,研究颇深。称赞!显示全部
分析透彻,研究颇深。称赞!收起
保险 · 2014-11-24
浏览1334
KAKA19891111KAKA19891111商业智能工程师HighJet
支持一记!显示全部
支持一记!收起
互联网服务 · 2014-10-28
浏览1382
Aaron_liuAaron_liu软件架构设计师国际商业机器大连分公司
高手 学习了。显示全部
高手 学习了。收起
IT咨询服务 · 2014-10-28
浏览1427

提问者

flippy
系统架构师北京先进数通

相关问题

相关资料

问题状态

  • 发布时间:2014-10-28
  • 关注会员:2 人
  • 问题浏览:5588
  • 最近回答:2015-12-25
  • X社区推广