Back

Explore Courses Blog Tutorials Interview Questions
0 votes
2 views
in SQL by (6.1k points)

We are using the Oracle as the database for our Web application. The application runs good most of the times, but we are getting this "No more data to read from socket" error.

Caused by: java.sql.SQLRecoverableException: No more data to read from socket

    at oracle.jdbc.driver.T4CMAREngine.unmarshalUB1(T4CMAREngine.java:1142)

    at oracle.jdbc.driver.T4CMAREngine.unmarshalSB1(T4CMAREngine.java:1099)

    at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:288)

    at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:191)

    at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:523)

    at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:207)

    at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:863)

    at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1153)

    at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1275)

    at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3576)

    at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3620)

    at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1491)

    at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:93)

    at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:93)

    at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:208)

    at org.hibernate.loader.Loader.getResultSet(Loader.java:1869)

    at org.hibernate.loader.Loader.doQuery(Loader.java:718)

    at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:270)

    at org.hibernate.loader.Loader.doList(Loader.java:2449)

    ... 63 more

I am not sure whether this is because of the application errors, database errors or network errors.

We are seeing the following on the oracle logs 

Thu Oct 20 10:29:44 2011

Errors in file d:\oracle\diag\rdbms\ads\ads\trace\ads_ora_3836.trc  (incident=31653):

ORA-03137: TTC protocol internal error : [12333] [4] [195] [3] [] [] [] []

Incident details in: d:\oracle\diag\rdbms\ads\ads\incident\incdir_31653\ads_ora_3836_i31653.trc

Thu Oct 20 10:29:45 2011

Trace dumping is performing id=[cdmp_20111020102945]

Thu Oct 20 10:29:49 2011

Sweep [inc][31653]: completed

Sweep [inc2][31653]: completed

Thu Oct 20 10:34:20 2011

Errors in file d:\oracle\diag\rdbms\ads\ads\trace\ads_ora_860.trc  (incident=31645):

ORA-03137: TTC protocol internal error : [12333] [4] [195] [3] [] [] [] []

Incident details in: d:\oracle\diag\rdbms\ads\ads\incident\incdir_31645\ads_ora_860_i31645.trc

Thu Oct 20 10:34:21 2011

Oracle Version : 11.2.0.1.0 

1 Answer

0 votes
by (12.7k points)
edited by

Unfortunately, you don't mention which of the oracle release you are using. The error could be related to the optimizer bind peeking. It depends on the oracle version and different workarounds apply.

You have two ways to address this:

  • Upgrade to 11.2
  • Set oracle parameter _optim_peek_user_binds = false

Of course, underscore parameters should only be set if advised by the oracle support.

Interested in SQL ? Check out this SQL Certification by Intellipaat.

Do check out the video below

Related questions

0 votes
1 answer
0 votes
1 answer
0 votes
1 answer
asked Mar 6, 2021 in Java by Jake (7k points)

Browse Categories

...