java.lang.Exception: OALL8 处于不一致状态

java.lang.Exception: OALL8 处于不一致状态

java.lang.Exception: 无法从套接字读取更多的数据

java.lang.Exception: 无法从套接字读取更多的数据
03:41:55,611 ERROR [STDERR] at com.iss.itreasury.settlement.remind.process.RemindProcess.StartRemindProcess(RemindProcess.java:1181)
03:41:55,611 ERROR [STDERR] at com.iss.itreasury.settlement.remind.process.RemindTask.run(RemindTask.java:39)
03:41:55,611 ERROR [STDERR] at java.util.TimerThread.mainLoop(Timer.java:512)
03:41:55,611 ERROR [STDERR] at java.util.TimerThread.run(Timer.java:462)
03:41:55,918 ERROR [STDERR] java.sql.SQLException: OALL8 处于不一致状态
03:41:55,918 ERROR [STDERR] at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
03:41:55,918 ERROR [STDERR] at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
03:41:55,918 ERROR [STDERR] at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:208)
03:41:55,918 ERROR [STDERR] at oracle.jdbc.driver.T4C8Oall.marshal(T4C8Oall.java:352)
03:41:55,918 ERROR [STDERR] at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:199)
03:41:55,919 ERROR [STDERR] at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:796)
03:41:55,919 ERROR [STDERR] at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1031)
03:41:55,919 ERROR [STDERR] at oracle.jdbc.driver.T4CPreparedStatement.executeMaybeDescribe(T4CPreparedStatement.java:836)
03:41:55,919 ERROR [STDERR] at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1124)
03:41:55,919 ERROR [STDERR] at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3285)
03:41:55,919 ERROR [STDERR] at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3329)
03:41:55,919 ERROR [STDERR] at org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeQuery(WrappedPreparedStatement.java:236)
03:41:55,919 ERROR [STDERR] at com.iss.itreasury.loan.awake.bizlogic.Awake.getAllAwakeContract(Awake.java:2093)
03:41:55,919 ERROR [STDERR] at com.iss.itreasury.loan.awake.bizlogic.AwakeTask.run(AwakeTask.java:43)
03:41:55,919 ERROR [STDERR] at java.util.TimerThread.mainLoop(Timer.java:512)
03:41:55,919 ERROR [STDERR] at java.util.TimerThread.run(Timer.java:462)
03:41:55,919 ERROR [STDERR] java.lang.Exception: OALL8 处于不一致状态
03:41:55,919 ERROR [STDERR] at com.iss.itreasury.loan.awake.bizlogic.Awake.getAllAwakeContract(Awake.java:2181)
03:41:55,919 ERROR [STDERR] at com.iss.itreasury.loan.awake.bizlogic.AwakeTask.run(AwakeTask.java:43)
03:41:55,919 ERROR [STDERR] at java.util.TimerThread.mainLoop(Timer.java:512)
03:41:55,919 ERROR [STDERR] at java.util.TimerThread.run(Timer.java:462)

【OALL8 处于不一致状态】问题是因为ojdbc.jar的版本的问题,需保证中间件中使用的jar包和开发环境中的jar包保持一致。
我的是把ojdbc.jar更新至最新版本后解决该问题。

【java.lang.Exception: 无法从套接字读取更多的数据】这个问题在百度的时候说法比较多,我测试以后,发现我的是因为sql语句的问题。
参照http://simon-fish.iteye.com/blog/1059068这篇博客的说法,将SQL语句中复杂的关联查询都换成left join的方式进行关联,问题解决。

注:上面的博客中,博主用的是子查询导致该问题,我的是用的左连接关联查询(加号(+)的方式关联)导致了该问题。修改为left join方式连接查询后问题解决。

此处记录备忘,如有遇到相同问题的,可从这些方面着手排查问题的原因。

附最近ojdbc.jar下载地址:http://download.csdn.net/detail/yang_lover/9455401

你可能感兴趣的:(Java,web)