【问题标题】:Oracle 12C RAC on Solaris 11 - Random Connection TimeoutSolaris 11 上的 Oracle 12C RAC - 随机连接超时
【发布时间】:2019-06-20 10:21:27
【问题描述】:

我们遇到的问题是,我们的 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)

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

感谢任何帮助!!!!谢谢!

【问题讨论】:

    标签: oracle timeout oracle-rac


    【解决方案1】:

    您使用的是哪个版本的 JDBC 驱动程序? 如果您使用的是 12.2.0.1 附带的版本,请将其替换为较新的版本。 我们在这里遇到了同样的问题;连接随机失败。但这根本不是超时。 消息“java.io.InterruptedIOException: Socket read timed out”是完全错误的。

    真正的问题是连接系统调用被中断,正如您从 dtrace 探测器中看到的那样

     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 客户端 18.3 或 19.3 尝试 ojdbc.jar

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-07-21
      • 1970-01-01
      • 2012-11-05
      • 2018-07-11
      • 2010-11-28
      • 1970-01-01
      • 2018-06-09
      相关资源
      最近更新 更多