Intermittent SQLException: OALL8 is in an inconsistent state

jai picture jai · Nov 18, 2010 · Viewed 20.4k times · Source

Am getting the below error intermittently.

ERROR Exception occured while fetching the available subscriptions from the database - Could not roll back Hibernate transaction; nested exception is org.hibernate.TransactionException: JDBC rollback failed    
org.springframework.transaction.TransactionSystemException: Could not roll back Hibernate transaction; nested exception is org.hibernate.TransactionException: JDBC rollback failed    
Caused by: org.hibernate.TransactionException: JDBC rollback failed    
       at org.hibernate.transaction.JDBCTransaction.rollback(JDBCTransaction.java:204)
           at org.springframework.orm.hibernate3.HibernateTransactionManager.doRollback(HibernateTransactionManager.java:676)    
       ... 80 more    
Caused by: java.sql.SQLException: No more data to read from socket    
java.sql.SQLException: Closed Connection    
ERROR org.hibernate.transaction.JDBCTransaction 17/11/2010 20:49:41 - JDBC rollback failed
java.sql.SQLException: Io exception: Broken pipe
ERROR org.springframework.transaction.interceptor.TransactionInterceptor 17/11/2010 20:49:41 - Application exception overridden by rollback exception
org.hibernate.exception.GenericJDBCException: could not execute query
java.sql.SQLException: OALL8 is in an inconsistent state

Database: Oracle9i

JDBC Driver: 10.2.0.4.0

Developement environment: Mule 3.0, Spring 3.0 and Hibernate 3

Answer

Rob van Laarhoven picture Rob van Laarhoven · Nov 18, 2010

"OALL8 is in an inconsistent state" is a generic exception that occurs in JDBC 10.1, 10.2, and 11.1. It indicates that an internal inconsistency has been detected in the JDBC connection but it does not provide information on what caused the inconsistency. The exception no longer occurs in JDBC 11.2. The error is usually caused by a bug in the JDBC code. These are very hard to analyze. The simplest solution is to upgrade the JDBC driver.