JDBC Application Fails With java.sql.SQLException: Io exception: Broken pipe After Setting System Change Number SCN Parameters in the Database (Doc ID 1573520.1)

Last updated on MARCH 08, 2017

Applies to:

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

Symptoms

After setting the following parameters for System Change Number (SCN) in an an Oracle Database 11g Enterprise Edition Release 11.2.0.2.0:


a JBOSS application using JDBC 10.1.0.4 receives the following exceptions:

Exception destroying ManagedConnection org.jboss.resource.connectionmanager.TxConnectionManager$TxConnectionEventListener@11151ba[state=DESTROYED mc=org.jboss.resource.adapter.jdbc.local.LocalManagedConnection@156cce6 handles=0 lastUse=1371806218353 permit=false trackByTx=false mcp=org.jboss.resource.connectionmanager.JBossManagedConnectionPool$OnePool@9da75b context=org.jboss.resource.connectionmanager.InternalManagedConnectionPool@56677a xaResource=org.jboss.resource.connectionmanager.TxConnectionManager$LocalXAResource@1a62f80 txSync=null]
org.jboss.resource.JBossResourceException: SQLException; - nested throwable: (java.sql.SQLException: Io exception: Broken pipe)
  at org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.checkException(BaseWrapperManagedConnection.java:481)
  at org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.destroy(BaseWrapperManagedConnection.java:206)
  at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.doDestroy(InternalManagedConnectionPool.java:550)
  at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.returnConnection(InternalManagedConnectionPool.java:329)
  at org.jboss.resource.connectionmanager.JBossManagedConnectionPool$BasePool.returnConnection(JBossManagedConnectionPool.java:61
...

Caused by: java.sql.SQLException: Io exception: Broken pipe
       at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
       at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
       at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:334)
       at oracle.jdbc.driver.OracleConnection.close(OracleConnection.java:1493)
       at org.jboss.resource.adapter.jdbc.BaseWrapperManagedConnection.destroy(BaseWrapperManagedConnection.java:202)
       ... 45 more
SQLException Occured:
java.sql.SQLException: No more data to read from socket
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
at oracle.jdbc.dbaccess.DBError.check_error(DBError.java:1160)
at oracle.jdbc.ttc7.MAREngine.unmarshalUB1(MAREngine.java:963)
at oracle.jdbc.ttc7.MAREngine.unmarshalSB1(MAREngine.java:893)
at oracle.jdbc.ttc7.Oopen.receive(Oopen.java:105)
at oracle.jdbc.ttc7.TTC7Protocol.open(TTC7Protocol.java:611)
at oracle.jdbc.driver.OracleStatement.open(OracleStatement.java:575)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2803)
....

 




Changes

The statements:

ALTER SYSTEM SET "_external_scn_rejection_threshold_hours"=24 scope=spfile;
ALTER SYSTEM SET "_external_scn_logging_threshold_seconds"=3052 SCOPE=spfile;

were executed in the database to fix error: ORA-19706: invalid SCN error.

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