- 浏览: 1173919 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (411)
- ASP (6)
- ASP.NET (2)
- CSS (4)
- HTML (11)
- Javascript (34)
- Java (100)
- PHP (1)
- XML (2)
- Flash/Flex/AS (1)
- 编程理论 (6)
- 操作系统 (23)
- 架构与搭建 (13)
- 软件应用 (39)
- 移动开发及应用 (4)
- UI设计 (2)
- 数据库 (23)
- 围棋 (1)
- 闲语茶楼 (6)
- 金融 (1)
- 其他 (3)
- Linux/Unix (38)
- 项目管理 (3)
- cmd (2)
- ssh (3)
- SVN (1)
- 移动开发 (1)
- HTML5 (1)
- jquery (1)
- redis (1)
- nginx (2)
- webservice (1)
- vmware (1)
- ssl (1)
- eclipse (1)
- sqlite (1)
- spring (2)
最新评论
-
cnhome:
Java 8 下:// 编码String asB64 = Ba ...
不要使用sun.misc.BASE64Encoder -
请叫我翠西狗:
那如果我要用this.getServletContext() ...
JSP/Servlet使用代理或路由器映射时获取服务器地址为内网地址 -
nomblouder:
按照别的博客,别名一直是p4merge,导致一直报错comma ...
win与linux下git配置p4merge为合并比较工具的方法 -
linuxzhang:
请问我按你的方法修改了sts-3.7.3.RELEASE中的o ...
Eclipse中setter/getter方法自动添加属性注释 -
yzh__:
求解答。。。
Struts2定义默认拦截器时需要注意
本来订单的生成没有问题,但不知什么原因,报了一个这样的异常,致使订单不能生成
[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
在此做个记录,以供以后出现类似问题时参考.
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/OnlyOfMe/archive/2008/11/19/3334291.aspx
[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
在此做个记录,以供以后出现类似问题时参考.
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/OnlyOfMe/archive/2008/11/19/3334291.aspx
发表评论
-
Linux下 和 Windows 下 Oracle Instant Client 的安装.
2014-09-12 11:35 8597Oracle数据库软件十分庞大,数据库引擎有好几个G。通常情 ... -
[MYSQL]时间毫秒数转换
2013-10-15 13:22 8475java中常用bigint字段保 ... -
mysql5.5的源码安装[有用]
2013-09-17 14:57 987--验证md5校验和 [root@tm ... -
【转】CentOS6.3源码安装mysql5.5(多方法)
2013-09-12 15:15 41471.下载MySQL我下载的版本:mysql-5.5.22. ... -
ubuntu上mysql的安装以及基本用法
2012-07-26 10:54 19141.使用apt-get查找当前可用的mysql版本.ap ... -
使用MySQL命令行新建用户并授予权限的方法
2012-04-13 17:13 1639MySQL命令行能否实现新建用户呢?答案无疑是肯定的。而且在使 ... -
Linux下MySql开放访问权限
2012-04-13 17:10 3145在Linux下安装完数据库后,局域网内无法访问。 设置 ... -
oracle数据库中插入特殊符号'&'
2011-06-23 16:32 2494在plsql里边执行:update userinfo s ... -
hibernate中clob处理
2011-04-18 14:30 1997用hibernate封装oracle的clob类型操作起来 ... -
理解ORACLE数据库字符集
2011-04-15 10:32 1334一.引言 ORACLE数据库字符集,即Oracle全 ... -
Sql Server 2005 数据库备份还原后出现“受限制用户”问题的解决
2011-04-13 10:52 2121Sql Server 2005 在备份还原后经常出现数据库“受 ... -
介绍一下Oracle的操作符优化
2009-08-13 10:59 1735IN : IN写出来的SQL比较容易写及清晰易懂但是性能 ... -
管理好ORACLE数据表的几个建议
2009-08-05 14:12 1364ORACLE数据库中,表 ... -
Oracle10常见服务总结
2009-08-05 14:04 2049(1)OracleService数据库服务,这个服务会自动地启 ... -
MSSQL中删除所有外键约束的方法
2009-04-16 20:55 3665在网上找到了一句得到删除数据库中所有外键约束的语句的sql语句 ... -
sql随机抽取记录
2009-04-03 17:23 2431我们经常想在一个数据表中随机地选取出数据来,比如随机生成考试试 ... -
sql server数据库定时自动备份
2007-03-15 16:40 1792前提:操作计算机上要安装有SQL Server客户端应用程序。 ... -
让SQL自动备份并压缩
2007-06-04 12:19 1812关于SQL自动备份的方法在本Blog中有些过相关的文章 可以 ... -
SQL优化-索引
2008-06-18 15:40 1104微软的SQL SERVER提供了两 ... -
SQL Server数据库完美优化详解
2008-08-26 12:57 1820SQL Server数据库如下 ...
相关推荐
import java.sql.Connection; public class ConnectionPoolExample { public static void main(String[] args) { try { Context ic = new InitialContext(); DataSource ds = (DataSource) ic.lookup("java:...
1. **连接管理**:驱动程序负责建立、管理和关闭到MySQL服务器的网络连接,支持多种连接方式,如TCP/IP、UNIX套接字等。 2. **SQL语句执行**:它将Java应用程序中的SQL命令转化为MySQL服务器能理解的格式,执行查询...
它支持多种连接模式,如TCP/IP、Unix套接字和命名管道。 2. **SQL语句执行**:允许Java应用执行SQL查询、插入、更新、删除等操作,支持预编译的PreparedStatement和CallableStatement,提高性能并防止SQL注入攻击。...
Oracle驱动程序通常遵循Java Database Connectivity (JDBC) 标准,这是一个Java API,允许Java程序员使用SQL语句来访问和操作数据库。JDBC驱动分为四种类型:Type 1、Type 2、Type 3 和 Type 4。Oracle提供的驱动...
MySQL JDBC驱动支持各种数据库连接模式,包括标准TCP/IP、套接字、命名管道以及共享内存等,确保在不同环境下都能顺利工作。 SQL Server 2008的JDBC驱动是由Microsoft开发的,名为SQL Server JDBC Driver,它同样...
在Java程序设计中,异常处理是程序健壮性的重要组成部分。Java提供了一套丰富的异常类来帮助开发人员处理在程序执行过程中可能发生的错误。本文档列出了Java中常见的异常类型,并简要描述了这些异常的含义以及可能...
本文将详细介绍如何使用Java从`file.json`这样的JSON文件中读取数据,并将其有效地保存到数据库中。 首先,我们需要了解JSON的基本结构。JSON是一种基于文本的、易于人阅读和编写的数据格式,同时也易于机器解析和...
接下来,我们需要创建一个Java类来读取Excel文件。Apache POI提供了`HSSFWorkbook`类来处理`.xls`(Excel 97-2003格式)文件,而`XSSFWorkbook`则用于`.xlsx`(Excel 2007及以上版本)文件。假设你的Excel文件是`....
- 掌握UDP协议下的数据报套接字(DatagramSocket)的使用。 - 实现点对点的聊天应用,包括消息的发送和接收。 **工作任务:** - 使用TCP协议建立客户端和服务器端的连接,实现数据传输。 - 利用UDP协议的...
在平安科技的Java开发技术面试题大全中,包含了众多与Java开发相关的知识点和技能。以下将对提供的部分内容中的关键字进行解析,并详细阐述它们所涉及的Java知识点。 1. request, response, pageContext, session, ...