启动时就报错:CFG-ERR-0106,系统不能正常启动(可以看到所有的cognos service均没有启动),最终超时。
[ERROR] CFG-ERR-0106 IBM Cognos Configuration did not receive a response from the IBM Cognos service in the time allotted
这种比较难一次找到原因,因为这是在启动cognos之前的错误,也就是说正常cognos的日志服务还没有启动起来。所以查看cogserver.log会是空的。
从之前的一些处理经验来看,这种问题处理起来完全要靠RP,但是把尽可能多的总结都拿出来,希望能够多帮助一些朋友。
预先检查:
首先,从官网给出的检查方式来看基本上不可能把问题解决了:https://www-01.ibm.com/support/knowledgecenter/SSEP7J_10.2.2/com.ibm.swg.ba.cognos.inst_cr_winux.10.2.2.doc/c_cfg-err-0106startingcogservice.html
但是需要检查是否:
1. 系统硬件支持,例如足够的cpu内存什么的
2. JAVA_HOME配置:要配置这个参数,而且要记得匹配32位、64位,最主要的是查看java的版本是否被cognos支持
正式检查:
其实从绝大多数情况下看,都是“昨晚还好好的,今早突然就起不起来了”,那么一定与上述两种检查没太多关系,因为无论硬件还是java都不会轻易改变的。那么还需要从以下方面继续深入:
- linux中是否启动用户拥有权限,例如如果用root安装的cognos,而第二天用了cognos账户,也许就会碰见这个问题。总之查看用户权限是首要的。
- 查看cognos/webcontent/p2pd/WEB-INF/web.xml,由于这个web.xml有时会被改动,那么就要询问或者对比跟之前的版本的区别。其中查看catalina.log是一个好的习惯,有时候因为改动系统(常见的是增加audit数据库),那么将会把如下代码写入web.xml,但是注意这个xml只有尾而没有头,所以可能要手动加上
<servlet-name>DSServlet</servlet-name><servlet-class>com.cognos.demo.DSServlet</servlet-class></servlet>
不过这些都能从catalina.log中找到一些指引,例如刚刚的错误会爆:
"Parse Fatal Error at line 141 column 4: The element type "web-app" must be terminated by the matching end-tag "</web-app>".org.xml.sax.SAXParseException: The element type "web-app" must be terminated by the matching end-tag "
- 由于各种系统损坏、非正常关机导致tomcat-users.xml损坏,这个位置极其难以被发现,所以专门列到这里。
- 还有中极其少见的问题来自于DuseCMLargeResultSet,我没有亲手碰见过,但是据说是因为资料库中大量静态对象导致。如果是的话请度娘DuseCMLargeResultSet
- 在windows中,检查DEP是否开启
换一种启动方式:
可以用如下方式启动cognos,至少可以试试:
- bin64/cogconfig.sh(.bat)
- bin64/start(.bat)