BIEE周期性认证失败故障解决方案分享之 BIEE启动正常运行一段时间后,出现无法登录analytics应用的情况

0
环境:
操作系统:windows7 x64
BIEE版本: 11.1.1.7
RCU数据库:Oracle11gR2
现象:
BIEE启动正常运行一段时间后,出现无法登录analytics应用的情况。重启BIEE之后,analytics可用,但运行一段时间后再次出现无法登录的错误。此现象周期性发生。
检查domain日志,发现如下错误信息:

[2014-04-15T13:17:52.485+08:00] [AdminServer] [WARNING] [] [oracle.j2ee.ws.common.jaxws.JAXWSMessages] [tid: [ACTIVE].ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: BISystemUser] [ecid: f0d8ab47e4303c3b:2d335df4:144a9f9a847:-8000-0000000000000b19,0:1:8:1] [APP: bisecurity#11.1.1] [J2EE_APP.name: bisecurity_11.1.1] [J2EE_MODULE.name: bisecurity] [WEBSERVICE.name: SecurityWebService] [WEBSERVICE_PORT.name: SecurityWebServicePort] Exception while executing the business logic: SecurityService::executeAccess is denied for the specified credentials/identity.
[2014-03-10T13:18:14.864+08:00] [AdminServer] [ERROR] [] [oracle.bi.security.service] [tid: [ACTIVE].ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: BISystemUser] [ecid: f0d8ab47e4303c3b:2d335df4:144a9f9a847:-8000-0000000000000b19,0:1:18:1] [APP: bisecurity#11.1.1] [J2EE_APP.name: bisecurity_11.1.1] [J2EE_MODULE.name: bisecurity] [WEBSERVICE.name: SecurityWebService] [WEBSERVICE_PORT.name: SecurityWebServicePort] Identity store provider error[[
oracle.bi.security.service.IdentityStoreProviderException: oracle.security.idm.OperationFailureException: javax.naming.CommunicationException: 2001:0:9d38:90d7:4d9:e8cb:21d1:eb2c:7001 [Root exception is java.net.ConnectException: Connection timed out: connect]
已邀请:
4

梁勇 - 天道酬勤、上善若水。爱好商业智能 2014-04-24 回答

原因分析:检查日志发现,运行一段时间后,发生登录认证错误,错误为Root exception is java.net.ConnectException: Connection timed out: connect,因为无法链接到2001:0:9d38:90d7:4d9:e8cb:21d1:eb2c:7001(如日志中红色斜体加粗部分),无法连接LDAP来为内部用户bisystemuser获取认证,因此也就无法获得正在登录的用户(如weblogic)的认证凭证。
错误的根本原因在于2001:0:9d38:90d7:4d9:e8cb:21d1:eb2c无法连接,由字符串可知其为ipv6的地址。
通过ipconfig /all命令,发现
1.jpg

此地址被设为了首选地址,而ping此2001:0:9d38:90d7:4d9:e8cb:21d1:eb2c地址时,可发现2001:0:9d38:90d7:4d9:e8cb:21d1:eb2c无法连接,一直返回超时错误。

解决方法:
解决方法有两种:
1.简单的在Windows下禁用IPV6 的方法。 使weblogic启动时选择ipv4地址,可避免BIEE此故障再次出现。
禁用方法:
首先把网络链接属性里面的IPV6去掉,如下图
1.jpg

然后以管理员身份打开CMD 运行以下命令 手动关闭IPV6的隧道()
netsh interface teredo set state disable
netsh interface 6to4 set state disabled
netsh interface isatap set state disabled

这样就可以把IPV6禁用掉。
再运行一下 ipconfig /all
可以看到IPV6 的地址和IPV6--IPV4的隧道不再出现。

如果想还原再运行下面命令就可以了
netsh interface teredo set state default
netsh interface 6to4 set state default
netsh interface isatap set state default

2.手动修改weblogic的启动选项,添加-Djava.net.preferIPv4Stack=true属性。
需要修改的文件位于base_domain的bin目录下的startweblogic.cmd,在此文件中
找到call "%DOMAIN_HOME%\bin\setDomainEnv.cmd" %*

再下面添加一行
set JAVA_OPTIONS="%JAVA_OPTIONS% -Djava.net.preferIPv4Stack=true"
保存此文件,重启BIEE即可。

要回复问题请先登录注册