java.sql.SQLException: Io exception:Got minus one from a read call

java.sql.SQLException Error Code: 17002 and IO exception: Got minus one from a read call When Establishing Connection Using Oracle JDBC Driver 10.2.0.3 [ID 763837.1]

 修改时间 03-DEC-2010     类型 PROBLEM     状态 PUBLISHED 

In this Document
  Symptoms
  Cause
  Solution
  References


Applies to:

JDBC - Version: 10.2.0.3 and later   [Release: 10.2 and later ]
Information in this document applies to any platform.

Symptoms

Trying to establish a connection from DbVisualizer using JDBC Thin 10.2.0.3 and JDK 1.5 against an
Oracle Server 10.2.0.3 fails with:

An error occurred while establishing the connection.
Type: java.sql.SQLException Error Code: 17002
Message:
Io exception: Got minus one from a read call


The same error is obtained from other JDBC applications, not only DBVisualizer.

Listener.log shows the following errors:


26-JAN-2009 16:35:34 * (CONNECT_DATA=(SID=EPICDEV)(CID=(PROGRAM=)(HOST=__jdbc__)(USER=))) *
(ADDRESS=(PROTO =tcp)(HOST=<ip>)(PORT=64367)) * establish * EPICDEV * 12518
TNS-12518: TNS:listener could not hand off client connection
TNS-12547: TNS:lost contact
TNS-12560: TNS:protocol adapter error
TNS-00517: Lost contact
Linux Error: 32: Broken pipe


Cause

This issue was caused by database initialization parameter PROCESSES being set to a low value.

Listener log gives the complete error stack and the database service name to which the client
tried to connect to:
26-JAN-2009 16:35:34 * (CONNECT_DATA=(SID=EPICDEV)(CID=(PROGRAM=)(HOST=__jdbc__)(USER=))) *
(ADDRESS=(PROTO =tcp)(HOST=<ip>)(PORT=64367)) * establish * EPICDEV * 12518
TNS-12518: TNS:listener could not hand off client connection
TNS-12547: TNS:lost contact
TNS-12560: TNS:protocol adapter error
TNS-00517: Lost contact
Linux Error: 32: Broken pipe


Listener log shows the bottom error being 32 is the OS error. It also shows that the JDBC client has tried to connect to the database service and failed with the error 12518.

The error 32 indicates the communication has been broken while the listener is trying to hand off
the client connection to the server process or dispatcher process.

Error 32 Broken Pipe is normally caused by PROCESSES parameter being set low, as documented in
Note <<550859.1>> - TROUBLESHOOTING GUIDE TNS-12518 TNS listener could not hand off client connection.

Solution

To implement the solution, please execute the following steps:
  1. Increase PROCESSES parameter by either editing init.ora or spfile.
  2. Restart the database for the parameter value to take effect.

References

NOTE:550859.1 - TROUBLESHOOTING GUIDE TNS-12518 TNS listener could not hand off client connection
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值