Oracle 11g连接重置错误


问题内容

尝试使用瘦jdbc驱动程序连接到Red Hat Linux(64位)上的Oracle
11g时,看到以下错误。如果有人可以提供更多有关如何解决此问题的信息,将不胜感激。

 Caused by: java.net.SocketException: Connection reset
    at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:113)
    at java.net.SocketOutputStream.write(SocketOutputStream.java:153)
    at oracle.net.ns.DataPacket.send(DataPacket.java:199)
    at oracle.net.ns.NetOutputStream.flush(NetOutputStream.java:211)
    at oracle.net.ns.NetInputStream.getNextPacket(NetInputStream.java:227)
    at oracle.net.ns.NetInputStream.read(NetInputStream.java:175)
    at oracle.net.ns.NetInputStream.read(NetInputStream.java:100)
    at oracle.net.ns.NetInputStream.read(NetInputStream.java:85)
    at oracle.jdbc.driver.T4CSocketInputStreamWrapper.readNextPacket(T4CSocketInputStreamWrapper.java:123)
    at oracle.jdbc.driver.T4CSocketInputStreamWrapper.read(T4CSocketInputStreamWrapper.java:79)
    at oracle.jdbc.driver.T4CMAREngine.unmarshalUB1(T4CMAREngine.java:1122)
    at oracle.jdbc.driver.T4CMAREngine.unmarshalSB1(T4CMAREngine.java:1099)
    at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:288)
    at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:191)
    at oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:366)
    at oracle.jdbc.driver.T4CTTIoauthenticate.doOAUTH(T4CTTIoauthenticate.java:752)
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:366)

问题答案:

您没有包括问题的任何细节,例如发生了什么变化?这是您的新配置,还是突然停止工作?您知道是否有足够的可用连接吗?这是发生在每个连接上还是断断续续的?

考虑到错误是在登录过程中发生的,几种可能性是:

  1. 网络故障
  2. 您已经用尽了最多的连接数,因此Oracle挂断了您的电话。
  3. 防火墙限制
  4. 数据库服务器或侦听器有问题。打开会话后,为您的会话提供服务的处理可能会崩溃。

检查线程,了解如何检查活动连接数和最大连接数。如果这是问题所在,我会期望出现“
ORA-00018:超出最大会话数”错误,因此可能不是。但这值得检查。

如何检查到Oracle数据库的最大允许连接数?