Oracle Connectivity Madness

Posted on 2011-05-09
Last Modified: 2012-05-11
Hello friends -

Tomcat 5 / Hibernate 3.1 / c3p0 .9 application that includes a  process that has been working for about a year now that started failing (as far as I know), Friday.  Essentially JDBC connections to the database won't initialize, instead I get the "No More Data To Read From Socket' message.  Here's a snipet from the log files:

java.sql.SQLException: No more data to read from socket
      at oracle.jdbc.dbaccess.DBError.throwSqlException(
      at oracle.jdbc.dbaccess.DBError.throwSqlException(
      at oracle.jdbc.dbaccess.DBError.check_error(
      at oracle.jdbc.ttc7.MAREngine.unmarshalUB1(
      at oracle.jdbc.ttc7.MAREngine.unmarshalSB1(
      at oracle.jdbc.ttc7.TTIdty.receive(
      at oracle.jdbc.ttc7.TTC7Protocol.logon(
      at oracle.jdbc.driver.OracleConnection.<init>(
      at oracle.jdbc.driver.OracleDriver.getConnectionInstance(
      at oracle.jdbc.driver.OracleDriver.connect(
      at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(
      at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(
      at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(
      at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(
      at com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(
      at com.mchange.v2.resourcepool.BasicResourcePool.access$800(
      at com.mchange.v2.resourcepool.BasicResourcePool$
      at com.mchange.v2.async.ThreadPoolAsynchronousRunner$


I'm pretty sure that this doesn't have to do with my c3p0 configuration; I get the same bubble up error ("no more data to read from socket") if I comment out all c3p0 components from my .cfg.xml file (slightly different trace underneath as it just tries to use Hibernate's default connection pooling component).   I also get the error at direct jdbc connection time.  

The database group insists that nothing has changed on their end.  The network group insists that nothing has changed on their end.  I am struggling.  Can anyone provide any assistance?  It has occurred to me that policy level changes / overly aggressive anti virus routines could be involved, but I don't have any thoughts on how to discern if that is the case.  

Any insight is very much appreciated.


Question by:passionlessDrone
    LVL 86

    Expert Comment

    Could be just arbitrary and temporary network problems
    LVL 47

    Expert Comment

    Does it happen all the time or intermittently?

    Did you change any things recently in your configuration (not quite ckear from your mention)?

    That's waht they write (you probably saw this):
    This error most likely occurs in applications that use a database connections pool. When the application checked out a connection that has been timed out or has been staled, and used it to connect to the database, this error occurs.

    LVL 47

    Expert Comment

    Whenever I experienced such diagnostic it was always either on the datadbase or on network level.
    But it was usually intermittent (unless they have a total failure, and the error eventually became more explicit,
    like Oracle not available). But I'm not using connection pools.

    Accepted Solution

    Hello friends -

    Upgrading drivers from 9 to 10 solved the problem, but this does seem to indicate to me that something changed on the database end.  It is possible, I guess that the database group doesn't even know this (?), but is it possible that the database auto updated to a place where old drivers would start to fail?

    Thanks for everyone's input.

    LVL 47

    Expert Comment

    Yes, when they update Oracle to a newer version some of my programs stop working and I need
    to change the driver. The good thing is that with Oracle they are backward compatible 100%
    so the new drivers work with my code and also work with old databases if necessary without any problems.

    Author Closing Comment

    Figured it out.  Thanks for the help.

    Write Comment

    Please enter a first name

    Please enter a last name

    We will never share this with anyone.

    Featured Post

    How to run any project with ease

    Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
    - Combine task lists, docs, spreadsheets, and chat in one
    - View and edit from mobile/offline
    - Cut down on emails

    Background In several of the companies I have worked for, I noticed that corporate reporting is off loaded from the production database and done mainly on a clone database which needs to be kept up to date daily by various means, be it a logical…
    Configuring and using Oracle Database Gateway for ODBC Introduction First, a brief summary of what a Database Gateway is.  A Gateway is a set of driver agents and configurations that allow an Oracle database to communicate with other platforms…
    This video shows how to Export data from an Oracle database using the Original Export Utility.  The corresponding Import utility, which works the same way is referenced, but not demonstrated.
    Via a live example, show how to restore a database from backup after a simulated disk failure using RMAN.

    758 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    12 Experts available now in Live!

    Get 1:1 Help Now