首页 > 数据库 >java.sql.SQLException: 无法从套接字读取更多的数据

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

时间:2023-08-28 14:01:05浏览次数:36  
标签:jdbc java GLJK LIST SQLException DBError sql oracle


本来订单的生成没有问题,但不知什么原因,报了一个这样的异常,致使订单不能生成

[08-11-19 8:07:51:344 CST] 00000037 JDBCException E could not insert: [gmit.jzt.buying.databean.EOrderDO#122594]
[08-11-19 8:07:51:344 CST] 00000037 JDBCException E TRAS0014I: 下列异常已记录 java.sql.SQLException: ORA-01460: 转换请求无法实现或不合理



服务器是WebSphere,想到是价格的计算总价哪里出了问题,设了断点,然后输出,也不曾得出结果,总是报这个异常,后来把那些数据拿到本地测试(Excel导入订单),又出现了一个新的异常

ora-600 kksscl-inf-inl-loop
Connection aborted by peer: socket write error
java.sql.SQLException: 无法从套接字读取更多的数据

就百度了:

http://wmlm.itpub.net/post/12871/454535从此处得知是Oracle9i的驱动要升级了,结果换了驱动包就好了,是一个比较郁闷的问题,问题是解决了,但是我还是不知道为什么换了驱动包就可以了,如果有看到此文章的麻烦解答一下,我也把解决的方法转过来,供大家查阅:


日期:20080203
关键字:
ora-600 kksscl-inf-inl-loop
Connection aborted by peer: socket write error
java.sql.SQLException: 无法从套接字读取更多的数据
内容:
收到开发人员发来的邮件,告知JAVA应用程序 运行系统一段时间后,报“获取数据库连接失败”,“无法从套接字获取更多数据”,要求解决此问题

http://docs.google.com/Doc?id=dgdk3pdk_114cq8x87gw


内容:
收到开发人员发来的邮件,告知JAVA应用程序 运行系统一段时间后,报“获取数据库连接失败”,“无法从套接字获取更多数据”,要求解决此问题
附件中的日志摘抄部分内容如下:
java.sql.SQLException: Io 异常: Connection aborted by peer: socket write error
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:333)
at oracle.jdbc.driver.OracleStatement.<init>(OracleStatement.java:389)
at oracle.jdbc.driver.OracleConnection.privateCreateStatement(OracleConn
ection.java:772)
at oracle.jdbc.driver.OracleConnection.createStatement(OracleConnection.
java:712)
at weblogic.jdbc.pool.Connection.createStatement(Connection.java:356)
......
java.sql.SQLException: 无法从套接字读取更多的数据
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
......

到现场后首先检查报警日志,其中有以下信息:
Sat Feb 02 15:44:06 2008
Errors in file d:oracleadmingljkudumpgljk_ora_3200.trc:
ORA-00600: internal error code, arguments: [kksscl-inf-inl-loop], [1521], [199], [199], [955], [955], [], []

Sun Feb 03 12:26:07 2008
Errors in file d:oracleadmingljkudumpgljk_ora_3364.trc:
ORA-00600: internal error code, arguments: [kksscl-inf-inl-loop], [1521], [23], [23], [103], [103], [], []

通过查看UDUMP下的日志,找出有以下SQL语句:
select yhdm,yhmc,yhmm,dh,qxjgdm,sybz,sydz,fysz,color
from gljk_xt_yhxx t
where yhdm=(select SWRY_DM from P12366_CTAIS2_USER where NAME=:"SYS_B_0")
.......

上网查了一下资料,有以下原因可能会造成此类错误:
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

检查过程:
SQL> select 'ANALYZE TABLE '||table_name||' VALIDATE STRUCTURE CASCADE ;' from user_tables;

发现问题:
SQL> ANALYZE TABLE gs12366_gljk.GLJK_YSWG_LIST VALIDATE STRUCTURE CASCADE ;
ANALYZE TABLE gs12366_gljk.GLJK_YSWG_LIST VALIDATE STRUCTURE CASCADE
*
ERROR 位于第 1 行:
ORA-01499: table/index cross reference failure - see trace file

开发人员还有一些附加的要求:
系统设计的是定期将gljk_yswg_list中的数据删除后放在历史表中(2733918条记录),但总是有一些数据在插入时提示列值过大,而两个表结构一样,也找不到原因.
积累到现在共有205045条记录,

处理过程:
先查看空闲的表空间,确认是否有足够的空间来保存临时数据
1 create table wang_temp1 as select * from GLJK_YSWG_LIST where skssq>'2008' ;
-- 共有87114条
2 create table wang_temp2 as select * from GLJK_YSWG_LIST where skssq<'2008';
-- 共有205045条
3 停掉所有相关的JAVA应用
4 备份表上的建索引脚本,rename table GLJK_YSWG_LIST;
5 rename table ww_temp1 to GLJK_YSWG_LIST;
6 运行创建索引脚本,补充上索引.(表上没有触发器,如果有,还需要还原)
7 进入测试查询
8 将wang_temp2中的数据插入到历史表GLJK_YSWG_HISTORY_LIST中.如果批量插入失败,写一个简单的存储过程进行插入,并捕捉不能插入的记录,分析原因进行解决.
9 处理完毕后,删除中转表wang_temp1 wang_temp2

在此做个记录,以供以后出现类似问题时参考.


标签:jdbc,java,GLJK,LIST,SQLException,DBError,sql,oracle
From: https://blog.51cto.com/u_16237557/7263452

相关文章

  • 10条SQL优化技巧
    一、一些常见的SQL实践(1)负向条件查询不能使用索引select*fromorderwherestatus!=0andstauts!=1notin/notexists都不是好习惯可以优化为in查询:select*fromorderwherestatusin(2,3)(2)前导模糊查询不能使用索引select*fromorderwheredesclike‘%XX’而非前导模糊......
  • IDEA设置JAVA使用的编译语言Language level为8
       设置这个为8不然每次pom文件修改都会变更为5pom.xml增加<properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><java.version>8</java.version></properties>  增加插件配置<!--打包配置--&g......
  • 【Java监控】使用SkyWalking监控Java服务
    你的Java服务是如何监控的呢? 1.Null:监控?什么监控?我一个写代码的服务挂了跟我有什么关系? 2.命令行:服务挂了?内存泄漏?jstatjmapjcmd,还好不是我写的3.撸代码:Java采集JVM/服务器资源信息->Prometheus->Grafana,请允许我对业务代码稍作修改。今天,给大家介绍一个对源码0入......
  • jsp(JAVA)伪静态的具体设置过程
    一:到  http://tuckey.org/urlrewrite/  下载urlrewrite架包(推荐2.6.0)二:解压所下载的文件,把urlrewrite-2.6.0.jar复制到项目的WebRoot/WEB-INF/lib/目录下三:把urlrewrite.xml复制到项目的WebRoot/WEB-INF/目录下四:在web.xml文件中加入以下<filter><filter-name>UrlRewriteFil......
  • Java中通过代理连接至指定的URL
    importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStreamReader;importjava.net.Authenticator;importjava.net.InetSocketAddress;importjava.net.PasswordAuthentication;importjava.net.Proxy;importjava.......
  • Javascript Print(*)
    1.实现打印功能1)ExecWB()通过脚本程序来调用IE菜单下面的打印命令。实现的代码如下:<scriptlanguage="javascript">functionprintsetup(){//打印页面设置wb.execwb(8,1);}functionprintpreview(){//打印页面预览wb.execwb(7,1);......
  • Javascript压缩工具
    javascriptcompressor.com(在线压缩)shrinksafe.dojotoolkit.org(在线文件压缩)dean.edwards.name/packer(在线压缩)YUICompressor(使用命令行来压缩,需要JAVA虚拟机来运行压缩程序 有个压缩比更高的,是个要注册的软件...javascriptObfuscatorhttp://www.javascript-source.......
  • 基于Java的小说阅读系统-计算机毕业设计源码+LW文档
    毕业设计(论文)的基本要求随着信息技术的发展,基于web模式的小说阅读系统逐渐普及,网上阅读是一种新型的阅读模式,其模式受到了人们的欢迎。要求:(1)学生能针对实际的小说阅读系统需求进行调研,并查阅相关资料撰写出开题报告。(2)在此基础上选用合适的开发平台与工具进行系统开发与调试。(3......
  • UI设计和java学习哪个更有前景
    这个东西首先这样说,谈到设计都是跟灵感,还有美观有关系的,所以说UI设计得跟自己的脑洞有很大的关系,而java的话,简单的程序员就是搬砖,什么意思呢,就是去网上抄写,只要你把需求搞定就好了,而java的话属于那种加班性质比较强的。学Java还是ui,两个我觉得是完全不相同的两个方面,一个是设计为主......
  • java与es8实战之三:Java API Client有关的知识点串讲
    欢迎访问我的GitHub这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos本篇概览本篇是《java与es8实战》系列的第三篇,将一些重要的知识点在这里梳理清楚,为后面的实践奠定基础一共有七个与JavaAPIClient有关的重要知识点关于namespace:每......