JDBC 11.2.0.3 Application Fails With java.sql.SQLRecoverableException: IO Error: Connection reset (Doc ID 1575238.1)

Last updated on JUNE 07, 2017

Applies to:

JDBC - Version 11.2.0.3.0 and later
Information in this document applies to any platform.

Symptoms

JDBC 11.2.0.3 ojdbc6.jar connection with JDK 1.6 hangs and fails with the following exception:

Message: IO Error: Connection reset
Vendor: 17002
java.sql.SQLRecoverableException: IO Error: Connection reset

Complete exception stack:

java.sql.SQLRecoverableException: IO Error: Connection reset

      at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:421)
      at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:531)
      at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:221)
      at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
      at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:503)
      at java.sql.DriverManager.getConnection(DriverManager.java:582)
      at java.sql.DriverManager.getConnection(DriverManager.java:207)
      at oraConn.main(oraConn.java:9)
Caused by: java.net.SocketException: Connection reset
      at java.net.SocketInputStream.read(SocketInputStream.java:168)
      at oracle.net.ns.Packet.receive(Packet.java:282)
      at oracle.net.ns.DataPacket.receive(DataPacket.java:103)
      at oracle.net.ns.NetInputStream.getNextPacket(NetInputStream.java:230)
      at oracle.net.ns.NetInputStream.read(NetInputStream.java:175)
      at oracle.net.ns.NetInputStream.read(NetInputStream.java:100)
      at oracle.net.ns.NetInputStream.read(NetInputStream.java:85)
      at oracle.jdbc.driver.T4CSocketInputStreamWrapper.readNextPacket(T4CSocketInputStreamWrapper.java:122)
      at oracle.jdbc.driver.T4CSocketInputStreamWrapper.read(T4CSocketInputStreamWrapper.java:78)
      at oracle.jdbc.driver.T4CMAREngine.unmarshalUB1(T4CMAREngine.java:1179)
      at oracle.jdbc.driver.T4CMAREngine.unmarshalSB1(T4CMAREngine.java:1155)
      at oracle.jdbc.driver.T4C8TTIdty.receive(T4C8TTIdty.java:661)
      at oracle.jdbc.driver.T4C8TTIdty.doRPC(T4C8TTIdty.java:568)
      at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1106)
      at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:301)
      ... 7 more


The middle tier and the database tier are in different vlans, with a firewall between them.
If the connection is executed locally on the database server, it works.

 

Changes

 

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