Intermittent AwE-5001 Database Query Error cause Client to lock

Document ID : KB000088139
Last Modified Date : 14/04/2018
Show Technical Document Details
Issue:
Error Message :
ErrorMsg: AwE-5001 Database Query Error
java.sql.SQLRecoverableException: No more data to read from socket

Errrors similar to those below are displayed in the RmiServer log files intermittently and may cause the Applications Manager Client to lock.
 
ErrorMsg: AwE-5001 Database Query Error (7/30/17 9:21 AM) 
Details: select sysdate from dual 

jdbc:oracle:thin:@//<host>:<port>/<sid>:APWSPRD 
java.sql.SQLRecoverableException: No more data to read from socket 
at oracle.jdbc.driver.T4CMAREngine.unmarshalUB1(T4CMAREngine.java:1157) 
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:350) 
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:227) 
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531) 
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:208) 
at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:886) 
at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1175) 
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1296) 
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3613) 
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3657) 
at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1495) 
at com.appworx.server.sql.DBAccess.getSqlData(DBAccess.java:485) 
at com.appworx.server.sql.CommonDB.getSqlData(CommonDB.java:186) 
at com.appworx.server.data.Master.H(Master.java:744) 
at com.appworx.server.data.Master.D(Master.java:85) 
at com.appworx.server.data.Master$1.run(Master.java:704) 
at java.util.TimerThread.mainLoop(Timer.java:555) 
at java.util.TimerThread.run(Timer.java:505)
Environment:
OS Version: N/A
Cause:
Cause type:
Configuration
Root Cause: Incompatible timeout settings in the SQLNET.ORA configuration file for the Oracle database.
Resolution:
BEWARE: Before making any changes to Oracle it is highly recommended that Oracle support be consulted first.

During the setup of Oracle, there are three settings mentioned in an Oracle Support bulletin located in the SQLNET.ORA file. Oracle suggests setting the 3 settings to some reasonable number of seconds that could be expected in a normal network. These are listed below:

Example:
SQLNET.INBOUND_CONNECT_TIMEOUT=
SQLNET.SEND_TIMEOUT=
SQLNET.RECV_TIMEOUT=

When these settings are not set correctly, errors similar to the AwE-5001 errors shown above may be encountered.  An Oracle DBA should be consulted to look into these settings.  The last 2 SEND and RECEIVE timeouts may be interfering or overwriting the SQLNET.INBOUND_CONNECT_TIMEOUT if they are set less than that of the SQLNET.INBOUND_CONNECT_TIMEOUT.  See the example below.

Example:
SQLNET.INBOUND_CONNECT_TIMEOUT=300
SQLNET.SEND_TIMEOUT=180
SQLNET.RECV_TIMEOUT=180

The above example can result in sockets being closed prematurely which can cause  the Applications Manager Client to lock over time.

Fix Status: No Fix

Fix Version(s):
N/A
Additional Information:
Workaround :
N/A