现象:用户进入EBS登陆界面、注销或者点击某些OAF 的self-service类型界面,会偶尔遇到问题。
点击here查看具体异常信息:
其中会有诸如一下内容:
oracle.jbo.JboException: JBO-29000: Unexpected exception caught: oracle.apps.fnd.framework.OAException, msg=Application: FND, Message Name: FND_GENERIC_MESSAGE. Tokens: MESSAGE = java.sql.SQLException: Io exception: Connection reset;
或者
Error Page
Exception Details.
oracle.apps.fnd.framework.OAException: Application: FND, Message Name: SQL_PLSQL_ERROR. Tokens: ROUTINE = AppsConnectionManager.appsInitialize(int,int,int,int,Connection):-1,-1,-1,0,oracle.jdbc.driver.T4CConnection@17a6ac0; REASON = java.sql.SQLRecoverableException: IO Error: Connection reset; ERRNO = 17002; at oracle.apps.fnd.framework.server.OAExceptionUtils.processAOLJErrorStack(OAExceptionUtils.java:1025)
原因:(报错的环境确实是RAC架构)
FND_JDBC_USABLE_CHECK is set to false in the DBC file in RAC environment.
TheFND_JDBC_USABLE_CHECK parameter governs whether a pl/sql query is performedbefore giving a connection to a client. The pool checks whether a connection isusable before handing it to a client.This always involves checking that the connection is not null and is notclosed. If FND_JDBC_USABLE_CHECKis set to true, then it also verifies that the connection can be used to perform asimple PL/SQL query. (This parameter may have to be set to “true” inorder to clean up connectionsto a database that has been restarted.)
Settingit to TRUE checks whether each connection is working OK before you give it to auser.
解决方法(多个应用都需要执行):
1、备份dbc文件及context.xml文件;
2、Set s_fnd_jdbc_usable_check to true in context.xml file;
3、Run Autoconfig;
4、Retest the issue.
参考:metalink:
1. “YouHave Encountered An Unexpected Error” – JBO-30003 Error While Login ToOracle Applications With Database RAC Implemented (Doc ID 465812.1)
2. Error On OA Framework Pages – oracle.apps.fnd.framework.OAException, FND_GENERIC_MESSAGE, JBO-25036 (Doc ID 1607136.1)
3. Configuring and Managing E-Business Application Tier for RAC (Doc ID 1311528.1)
https://blog.csdn.net/mingleecqu/article/details/18708967?locationNum=14&fps=1