合 Oracle Net 12c DCD (Dead Connection Detection ) 功能的改变 (Doc ID 2403921.1)
Oracle Net 12c: DCD (Dead Connection Detection ) 功能的改变 (Doc ID 2403921.1)
适用于:
Oracle Net Services - 版本 12.1.0.2 到 12.2.0.1 [发行版 12.1 到 12.2]
本文档所含信息适用于所有平台
用途
本文档描述了在 12.1 版本上 DCD 功能的改变以及新的实现方式。
详细信息
之前 DCD 的实现方式使用 TNS 包并且依赖于底层的 TCP 发送失败。TCP 层需要重新发送以及传输探测包 – 导致一个断开的操作可能需要几分钟。而 DCD 新的实现方式使用了 KEEPALIVE 选项。
操作系统的 TCP keepalive 有3个参数(这是 Linux 参数,当然其它操作系统也有类似的参数)
TCP_KEEPALIVE_TIME (发送一个 keepalive 包之前需要等待的时间)
TCP_KEEPCNT (发送几次探测包)
TCP_KEEPINTVL (发送每个 keepalive 包之间的间隙)
现在 sqlnet.ora 的参数 SQLNET.EXPIRE_TIME 会设置 TCP_KEEPALIVE。