Java 间歇性 SQLException:OALL8 处于不一致状态

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/4211844/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-14 14:38:06  来源:igfitidea点击:

Intermittent SQLException: OALL8 is in an inconsistent state

javaoraclehibernatespringsqlexception

提问by jai

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

数据库:Oracle9i

JDBC Driver: 10.2.0.4.0

JDBC 驱动程序:10.2.0.4.0

Developement environment: Mule 3.0, Spring 3.0 and Hibernate 3

开发环境:Mule 3.0、Spring 3.0、Hibernate 3

采纳答案by Rob van Laarhoven

"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.

“OALL8 处于不一致状态”是 JDBC 10.1、10.2 和 11.1 中发生的一般异常。它表示在 JDBC 连接中检测到内部不一致,但它不提供有关导致不一致的原因的信息。JDBC 11.2 中不再出现该异常。该错误通常是由 JDBC 代码中的错误引起的。这些都很难分析。最简单的解决方案是升级JDBC驱动程序。