ORA-17410: No more data to read from socket Your database connection has timed out, either due to network problems or due to Oracle reaching the IDLE_TIME profile limit.Your application however tried to use the connection, but as the connection has closed, failed to do so.
This error mostly happens when using connection pools. Normally, when a connection is timed out or gone, the application should automatically reconnect.
Failure to do so results in this error.是的,我是用weblogic跑的服务,里面配的连接池。oracle也没有给出解决办法呀。难道在程序里面 手动获得Connection?是我数据库连接池链接配的不够大吗。多配几个也不能从根本上解决问题呀,解决过的进来说一下呀。

解决方案 »

  1.   

    本想 SF 让别人坐的,我晕,等了一下午,没人做,那我来坐,oracle老鸟快现身呀。
      

  2.   

    你是什么时候出错的, weblogic里你是怎样配置的Oracle的连接的。Applicationserver和Oracle之间有没有防火墙, 有防火墙的时候,网络时间过久,如果不连续的话,防火墙会自动关闭连接。 或者是用户的profile里指定了idle time。你可以查查user的profile有没有这样的限制
    select * from user_resource_limits
      

  3.   


    没有,调试程序的时候,发现查询一句SQL时报Cause by: java.sql.sqlrecoverableexception: 无法从 套接字中获取更多数据。将SQL放到 DB 工具里面查询。这句SQL会报 ORA-17410 错误,SQL 就是一句简单的 主外关联查询,其他 select * from 其他表,不会报错。听上去不可思议,但是确是事实,只是一句查询命令。
      

  4.   

    在这个sql外层加一层select * from (...
    );
      

  5.   


    不行select * from org o inner join relationorg t on o.org_oid = t.org_oid  这句话不报错。select * from relationorg t inner join org o on o.org_oid = t.org_oid  这句话就报 ora 17410错误。这是怎么回事呀。
      

  6.   

    一个诡异的bug,#5的方法也是在国外一个论坛看的
      

  7.   


    嗯,我在Google里面搜这个错误,都是英文的连接出来。
      

  8.   


    sql一直执行都报错么。你这个错误,应该是connect已经关闭导致的。 检查一下网络状况和防火墙的配置以及idle time
      

  9.   


    执行完这句报错后,DB Connect就断了。DB连接一直也是好的。不存在防火墙拦截问题,就是执行这句SQL的问题。
      

  10.   

    http://yangtingkun.itpub.net/post/468/499924
    程序通过JDBC访问10.2.0.1数据库时,碰到了一个ORA-17410错误。详细错误信息为:
    这个错误信息很难看出是Oracle的错误信息,在网上查询这个错误的相关信息的时候才发现这个错误实际上就是ORA-17410。
    ORA-17410: No more data to read from socket.
    错误比较奇怪,同样的SQL在sqlplus里面执行不会有任何的问题,如果将失败的SQL的一些查询条件去掉,也不会产生错误。而且同样的程序以前没有碰到过这个错误。怀疑和数据库的版本10.2.0.1有关,这个问题在10.2.0.3中没有出现过。
    检查了metalink,发现文档ID 1083922.1描述了这个现象。
    这个错误在10.2到11.2的各个版本都可能出现。
    对于11.1的版本,可以通过PATCH 8935561来解决,对于10.2版本的JDBC,除了将数据库升级到不发生这个错误的版本外,还可以通过OCI方式进行连接,因为这个错误只在JDBC瘦客户端连接方式中出现。