今天在配置的时候,发现会不定期失败,可能卡在40%,也可能在60%,
具体的错误如下:
64254: Error occurred in "OWSM Processing" phase execution
64254: Encountered error: oracle.mds.exception.MDSRuntimeException: MDS-00003: error connecting to the database
java.sql.SQLRecoverableException: IO Error: Connection reset
java.net.SocketException: Connection reset
64254: Check log for more detail.
在15年底的时候也碰到过这个问题,当时把OracleDB和OBIEE12c安装在一起解决的。
前一阵和群里的朋友也碰到过这个问题, 具体解决方法见,https://community.oracle.com/message/13895303
我也尝试了一下,确实问题解决了,
修改[MW_HOME]/oracle_common/common/bin/wlst.sh
增加如下内容
" .....
JVM_ARGS="-Djava.security.egd=file:///dev/urandom ${WLST_PROPERTIES} ${JVM_D64} ${UTILS_MEM_ARGS} ${CONFIG_JVM_ARGS}"
if [ -d "${JAVA_HOME}" ]; then
eval '"${JAVA_HOME}/bin/java"' ${JVM_ARGS} weblogic.WLST '"$@"'
else
exit 1
fi
...."
我去查了一下这个参数Djava.security.egd, 这个是涉及生成随机数的参数,
通过指定-Djava.security.egd=file:///dev/urandom,表示使用非阻塞方式获得随机数,而不是默认的阻塞方式。
估计默认情况下要远程连接数据库,等待随机数被别的程序阻塞导致失败。
其他的一些文档也提到Tomcat,Hadoop启动或配置的时候都可能存在这个问题,看来问题也满普遍的。
不过我不是做Java这块的,估计也只能多查查文档了。^-^