首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

java.sql.SQLRecoverableException: 没法从套接字读取更多的数据-求

2012-10-27 
java.sql.SQLRecoverableException: 无法从套接字读取更多的数据------急求java.lang.reflect.UndeclaredT

java.sql.SQLRecoverableException: 无法从套接字读取更多的数据------急求
java.lang.reflect.UndeclaredThrowableException
  at $Proxy48.rollback(Unknown Source)
  at com.sx.support.dba.dbCore.rollback(dbCore.java:546)
  at com.sx.support.dba.dbAPI.dbRollback(dbAPI.java:96)
  at com.sx.db.Db.dbRollback(Db.java:142)
  at com.sx.db.DbCommon.execSql(DbCommon.java:142)
  at com.sx.bjslg.fwzgfgl.xqtz.dao.impl.xqtzDAOImpl.updteXqtz(xqtzDAOImpl.java:211)
  at com.sx.bjslg.fwzgfgl.xqtz.service.impl.xqtzServiceImpl.updateXqtz(xqtzServiceImpl.java:20)
  at com.sx.bjslg.fwzgfgl.xqtz.action.xqtzAction.xqtz(xqtzAction.java:50)
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  at java.lang.reflect.Method.invoke(Method.java:597)
  at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:274)
  at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:194)
  at com.sx.action.AbsDispatchAction.execute(AbsDispatchAction.java:32)
  at org.springframework.web.struts.DelegatingActionProxy.execute(DelegatingActionProxy.java:110)
  at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
  at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
  at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
  at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
  at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
  at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
  at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
  at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
  at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
  at com.sx.bjslg.common.CommonFilter.doFilter(CommonFilter.java:61)
  at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
  at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3496)
  at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
  at weblogic.security.service.SecurityManager.runAs(Unknown Source)
  at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)
  at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)
  at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)
  at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
  at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Caused by: java.lang.reflect.InvocationTargetException
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  at java.lang.reflect.Method.invoke(Method.java:597)
  at com.sx.support.dbcp._Connection.invoke(_Connection.java:701)
  ... 37 more


Caused by: java.sql.SQLRecoverableException: 无法从套接字读取更多的数据
  at oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:101)
  at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:112)
  at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:173)
  at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:229)
  at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:403)
  at oracle.jdbc.driver.T4CMAREngine.unmarshalUB1(T4CMAREngine.java:1042)
  at oracle.jdbc.driver.T4CMAREngine.unmarshalSB1(T4CMAREngine.java:999)
  at oracle.jdbc.driver.T4C7Ocommoncall.receive(T4C7Ocommoncall.java:97)
  at oracle.jdbc.driver.T4CConnection.doRollback(T4CConnection.java:613)
  at oracle.jdbc.driver.PhysicalConnection.rollback(PhysicalConnection.java:3389)
  ... 42 more
这是什么原因造成的怎么解决,急求。

[解决办法]
上网查了一下资料,有以下原因可能会造成此类错误:
1 数据库版本需要升级(目前是9201+windows2000 as)
2 表或索引上有数据坏块
3 SESSION之间的阻塞
4 初始化参数设置
参考metalink文档:ORA-600[kksscl-inf-inl-loop] during heavy load with CURSOR_SPACE_FOR_TIME=TRUE

计划处理此问题的步骤如下:
1 找ORACLE支持(公司不出钱,这一步跳过去)
2 扫描表及索引,查看是否有坏块,如果有,进行坏块修复,或表及索引的重建
3 在应用停了之后,升级数据库到9204,检查以下初始化参数
cursor_space_for_time=false
session_cached_cursors=0
cursor_sharing=force
4 在下次错误发生,查看阻塞的SESSION
如果是因为SESSION阻塞,造成的应用程序中的错误,修改以下初始化参数
- set TIMED_STATISTICS=FALSE
- set _row_cache_cursors=20 or more (10 default)
- don't do any kind of tracing

参考:http://blog.csdn.net/onlyofme/article/details/3334291

热点排行