Java Guy
Java Guy

Reputation: 3441

ORACLE : Io exception: The Network Adapter could not establish the connection

We are getting this error sporadically. With the same TNS, we are able to make proper connections to the database. But we see this in the logs while make connections some times. Following is the stack trace. This is db connection to Oracle from a Linux machine and java application Any help is appreciated.

java.sql.SQLException: Io exception: The Network Adapter could not establish the connection at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112) at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146) at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:255) at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:387) at oracle.jdbc.driver.PhysicalConnection.(PhysicalConnection.java:439) at oracle.jdbc.driver.T4CConnection.(T4CConnection.java:165) at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:35) at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:801) at oracle.jdbc.pool.OracleDataSource.getPhysicalConnection(OracleDataSource.java:297) at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:221) at oracle.jdbc.pool.OracleConnectionPoolDataSource.getPhysicalConnection(OracleConnectionPoolDataSource.java:157) at oracle.jdbc.pool.OracleConnectionPoolDataSource.getPooledConnection(OracleConnectionPoolDataSource.java:94) at oracle.jdbc.pool.OracleImplicitConnectionCache.makeCacheConnection(OracleImplicitConnectionCache.java:1567) at oracle.jdbc.pool.OracleImplicitConnectionCache.getCacheConnection(OracleImplicitConnectionCache.java:478) at oracle.jdbc.pool.OracleImplicitConnectionCache.getConnection(OracleImplicitConnectionCache.java:347) at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:404) at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:189) at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:165)

Upvotes: 9

Views: 78975

Answers (3)

Maxwell Cheng
Maxwell Cheng

Reputation: 1190

Seems the connection pool runs out of connections... When DBMS listener's incoming request buffer is overloaded by many simultaneous connection requests. It will fail some of them.

you can have the thread sleep a bit (half-second to a second or so) between successive connection requests. After that, don't close connections until they're broken. Keep them and re-use them.

Upvotes: 1

Damith
Damith

Reputation: 63105

try following

  1. (obvious) IP address is incorrect - try PING
  2. The port is not open, or is blocked by a firewall - try TELNET
  3. The DB listener is not running or is binding to a different network interface - again, TELNET should confirm this (also use Oracle client tools to connect)
  4. No local ports are available for the out-going connection (unlikely) - only if you're making thousands of connections, or creating hundreds of new connections every minute.

Upvotes: 11

bora.oren
bora.oren

Reputation: 3509

Check https://forums.oracle.com/forums/thread.jspa?messageID=2540479, maybe you must change listener.ora's file host parameter to your host parameter. You can check that what parameter is your hostname in windows, cmd>hostname

Upvotes: 0

Related Questions