This issue below might be an application problem, but I cannot seem to rule out a poor database setup, I was hoping to get some insights into potential database issues.

I am maintaining a legacy Java application, our hosting provider provides DBA support for our Oracle database. We were on 10g, several months ago we upgraded to 11g. I in turn upgraded the Java drivers from ojdbc5.jar to ojdbc6.jar. Everything mostly seems fine....

The application uses Hibernate ORM tool, one of the fields of this one entity happens to be a Blob type. When the application saves changes to this entity, the generated SQL is an update statement that includes this Blob column regardless if it has changed or not.

On this one operation, the user updates their annual subscription, so they do it once a year, but when it calls the update here Java throws "Unable to access blob stream!" and then claims the underlying connection is closed. This ONLY occurs for this one operation.

If I completely shut down and restart the server, and then perform the same operation again it works perfectly fine and continues to work fine for that one record forever and ever amen.

But it seems to happen here for every single record in this one table at least once.

Needless to say this is a nightmare to debug because I cannot reproduce it on a single record, just observe it once per record on my test system, then never see it happen again, and yes the same behavior occurs on my test environment that is a mirror of my production database.

My question is if it is possible that when the Oracle 11g upgrade occurred that it corrupted the LOB space in some way to where this seems to be happening?


Now I can't reproduce it on any record.... its like the database felt that I was trying to debug it and temporarily reverted into a state of good behavior

Maybe the LOB space was sleeping, then woke up?


The problem happened again this morning, after I left the database to sit unused for several hours.

As requested here is the exact error:

Unable to access blob stream! Cause: Closed Connection SQL State: 08003 Vendor Code: 17008

Preliminary research seems to suggest that this might be an issue with the Oracle JDBC drivers? Oracle JDBC ojdbc6.jar

  • Without any specific error messages and the fact that you now can't reproduce the problem, this needs closing.
    – Philᵀᴹ
    Commented Nov 5, 2012 at 22:29
  • 2
    I also love the fact you see that Oracle has feelings. xx
    – Philᵀᴹ
    Commented Nov 5, 2012 at 23:47
  • 1
    @Phil I added the exact error message because after leaving the DB sit for several hours unused it happened again. I don't believe it a connection pooling issue because I just started the test server up this morning. Commented Nov 6, 2012 at 13:00
  • Please dig through database-server-side errors. Check alert*.log and the recent *.trc files.
    – kubanczyk
    Commented Nov 9, 2012 at 14:44
  • Check the version of your driver. The 6 in ojdbc6.jar does not indicate the driver's version. There are about 10 different versions all named ojdbc6.jar. The version can be checked by looking at the MANIFEST.MF which is stored inside the jar file.
    – user1822
    Commented Nov 25, 2012 at 22:23

1 Answer 1


I have faced similar situation for a procedure call with input Blob parameter. Same piece of code was working just fine on, but began to throw "java.io.IOException: I/O Exception: Connection reset by peer: socket write error" on I have downgraded from ojdbc6.jar to ojdbc14.jar+ocrs12.jar now it is working. I don't know why but it seems ok for now.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.