luxiao1223
作者luxiao1223·2012-07-19 16:53
软件开发工程师·aia

64位cognos安装注意事项

字数 2512阅读 4091评论 6赞 14
    cognos 8和10都有64位版本,而且随着64位服务器的普及,以及64位机器的性能优势,大范围的部署成为了可能。
首先要了解的一个前提:截止到cognos10.1.1,cognos产品都只实现了部分的64位化,什么意思呢,就是使用java重写过的cognos组件都有64位的,因为java程序是运行在jvm里的,所以只要服务器上部署了64位jvm,java程序就可以直接享受64位虚拟机带来的好处(我猜的)。比如bisvr主程序,mobile。但是像老的c或c++写的组件,因为改造难度太大,所以目前还是只有32位版本。比如transformer组件。所以在安装前先保证服务器上有64位jdk,然后配置安装用户的环境变量JAVA_HOME。接下来就可以进行安装了。64位的服务器组件的名字是bisrvr_linuxi8664h_10.1.1_ml.tar.gz,其中i8664就是代表64位版本。默认是安装在一个/**/c10_64的目录下的,当安装transformer的时候你会发现ibm提供的安装介质的名字叫bitrsfrmr_linuxi38632_10.1.1_ml.tar.gz,坑爹啊。 i38632就是代表32位的版本。默认安装路径是/**/c10,这里要注意了,这个路径不要私自改成c10_64,否则会发生冲突。32位组件是不能和64位组件装在同一个目录下的。ok,就装呗。装好以后,当然就是配置了。进入到c10_64/bin64下执行cogconfig.sh,在环境里面有个比较特殊的条目叫report execute mode,可以选择32位或64位,大家有兴趣可以研究下。配置好了以后,就要配置transformer了,因为虽然各组件版本不一样,但还是要协同工作的,所以transformer的配置要和主服务程序的配置保持一致。进入到c10/bin下执行cogconfig.sh,发现界面是启动了,但是报了个java的错误,叫什么JCAM_*****.JNI,反正就是配置界面起不来。原因就是启动的gui界面的脚本cogconfig.sh需要32位java的支持。这里有两种做法可以让这个配置界面起来,第一种方法:先确保服务器上有了32位的java。然后在你需要启动gui的命令行里先export JAVA_HOME=32位jdk所在的路径。然后执行cogconfig.sh就能起来。如果嫌每次export很烦,那就把这行加入到cogconfig.sh的#!/bin/bash下面。你可能需要把这个文件先改成可写模式,因为默认为read only。 好,配置界面出来以后就可以修改了:主要是两块地方,gateway和dispatcher for external application。把这两个值改成和主程序一致就可以了。保存,生成密钥成功。如果还是嫌麻烦,或者说服务器上一时没有32位jdk怎么办,那么建议这么做,(事先声明一下:该方法我没试过)就是先手动编辑c10/configuration/cogstartup.xml文件,把里面对应gateway和dispatcher的地址改成和主程序一致。保存,这只是修改了配置,还要生成密钥,因为在gui界面里我们保存配置的时候配置程序会自动帮我们生成密钥文件,而手动修改配置文件,则没有这一步。所以如果不生成密钥,transformer程序和主程序进行交互的时候还是会报错,报错就是说密钥文件无效咯。所以我们下一步需要到c10_64/configuration下把csk和sighkeypair,encryptkeypair三个文件夹拷贝过来,覆盖c10/configuraion下的同名文件夹。该方法理论可行,值得一试。
都配置好了以后就启服务呗,一切都妥妥的起来了。接着就访问网关,然后迁移内容过来。先说下数据源配置吧。我们在cognos connection里需要测试或配置数据源,这里又有一个坑爹的地方,就是64位cognos只能使用32位的数据库驱动去访问数据库,无论目标数据库是32位还是64位。所以你在测试oracle数据库的时候会发现测试失败。这个时候就需要把数据库的32位驱动加入libpath里,而且位置必须排在64位lib的前面,否则还是没法测通。将cognos用户的配置文件里的环境变量LIBPATH修改为:LIBPATH=$ORACLE_HOME/lib32:$LIBPATH。这个时候测试数据源就会成功,但是我当时比较倒霉。服务器上装了一个64位的oracle 11g服务器版,具体版本是11.2.0,它的目录下是没lib32的,只有一个lib。这就被坑爹了,因为以前64位的oracle10g安装好以后是自带32位驱动的,而到了11g,就不提供了。感觉oracle越做越烂了。哎呀赶紧联系oracle管理员,让他想办法搞个11gR2的32位驱动。当时的做法是这样的,找了一个适合64位服务器的32位oracle 11gR2的客户端程序,安装目录和原来的目录区别开来。装好以后呢,该客户端的ORACLE_HOME下也有一个lib,这个lib就是32位的驱动,把这个路径填入我们用户的libpath,oracle数据源测试通过。到此为止,貌似一切都工作正常。
然后就是测试我们的tansformer是否可以正常工作。写个脚本,启动cogtr程序。结果刷新mdl成功,这里有几点可能比较模糊。首先呢cogtr程序应该是不需要使用用jvm来刷新的,但是它和cogons主服务进程通信时肯定又是要走java接口的。而我安装的服务器当时cognos用户的JAVA_HOME是64位的,没有报错。其次cogtr使用sqlplus去连接oracle库读数据源的时候,使用的64位的sqlplus,但是驱动使用的还是32位的,因为LIBPATH指向的是32位的驱动。所以可以这么理解cogtr程序可以使用32位或64位的sqlplus客户端程序,但是连接数据库的模式是32位的,因为用的是32位的驱动。



如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

14

添加新评论6 条评论

kentkent软件开发工程师招银网络科技
2014-04-03 11:47
楼主,我碰到了同样的oracle64位的问题.想问问是在哪个文件加入/或者修改libpath这个变量????  盼复 ,谢谢
xutengfei1989xutengfei1989软件开发工程师合肥凯捷技术有限公司
2014-03-04 16:36
楼主,谢谢了,学习了,知道为什么起不来了
TryXDTryXD软件开发工程师dcms
2013-10-08 22:23
不明觉厉!~
echo718echo718BI开发工程师中科软科技股份有限公司
2013-02-21 16:19
顶起
hikeplayguitarhikeplayguitar研发工程师山东城市商业银行联盟
2013-01-06 09:16
学习一下~~~
chinaboychbchinaboychbBI开发工程师广州南天
2012-10-14 15:48
学习了。。。
Ctrl+Enter 发表

作者其他文章

相关问题

相关资料

X社区推广