我在 Solaris 10 上运行了 Oracle10g。操作系统的配置是标准的,并且服务器上运行着一个包过滤防火墙。
当我使用 sqldeveloper 运行长查询时,服务器在 15 分钟不活动后重置连接。
时间线如下:
- 客户端与服务器端口 1521 建立连接,无 SSL
- 服务器接受并接收来自客户端的查询。交换的最后一个数据包是从服务器到客户端的 TCP ACK
- ......15分钟过去了
- 服务器向客户端发送一个 RST 数据包,此后主机之间不再进行任何其他交换
我找不到 TNS 侦听器的任何超时参数,所以我猜测这可能是 solaris 或数据包过滤器问题?
答案1
问题出在边界防火墙 SonicWall 中,其默认 TCP 超时设置为 15 分钟。
那么就不是 solaris 或 oracle 的问题了。