"Socket read timed out" Error Trying to Connect from JDBC Application (Doc ID 2051087.1)

Last updated on AUGUST 07, 2016

Applies to:

JDBC - Version 11.2.0.1.0 to 12.1.0.1.0 [Release 11.2 to 12.1]
Universal Connection Pool - Version 11.2.0.1.0 to 12.1.0.1.0 [Release 11.2 to 12.1]
Information in this document applies to any platform.

Symptoms

JDBC database connections using a driver earlier than 12.1.0.2 fail with a "Socket read timed out" error, such as the one listed in the following exception stack:

org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection;
 nested exception is java.sql.SQLException: Exception occurred while getting connection:
 oracle.ucp.UniversalConnectionPoolException: Cannot get Connection from Datasource:
 java.sql.SQLRecoverableException: IO Error: Socket read timed out


With a limited number of JDBC connections (such as a single, small JDBC or UCP connection pool), the application works successfully.
With a high number of JDBC connections, the "IO Error: Socket read timed out" error occurs.


Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms