Solaris 11上的Oracle 12C RAC-随机连接超时

时间:2019-01-27 02:45:03

标签: oracle timeout oracle-rac

我们遇到的问题是,从Java应用程序连接到Oracle 12c R1 RAC时,随机连接超时。 两者都在Solaris 11上。

  

原因:java.sql.SQLRecoverableException:IO错误:网络   适配器无法建立连接
      在oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:743)
  ...
    ...
  造成原因:java.net.SocketTimeoutException:连接超时        在java.net.PlainSocketImpl.socketConnection(NativeMethod)

这只是随机发生的,也许每三个运行一次?

感谢您的协助!!!!谢谢!

1 个答案:

答案 0 :(得分:0)

您正在使用哪个版本的JDBC驱动程序? 如果您使用的是12.2.0.1随附的版本,请用较新的版本替换。 我们在这里遇到了同样的问题;连接随机失败。但这根本不是一种抑制措施。 消息“ java.io.InterruptedIOException:套接字读取超时”完全错误。

真正的问题是,从dtrace探针可以看到,connect syscall被中断了

 23708/2:  connect(0x8, 0xFFFFFFFF7F2EDD54, 0x20)                = -1 Err#4
 23708/2:  lwp_sigmask(0x3, 0x4, 0x40)           = 0xFFFFFFFF 0
 23708/2:  setcontext(0x1, 0xFFFFFFFF7F2ED2D0, 0x0)              = 0 0
 23708/2:  connect(0x8, 0xFFFFFFFF7F2EDD54, 0x20)                = -1 Err#149

请尝试使用Oracle Client 18.3或19.3中的ojdbc.jar

还有一个针对12.2.0.1未发布的错误25977056的补丁:AC:用于TRANSPORT_CONNECT_TIMEOUT的单元已更改,没有限定符。

相关问题