关于客户端长时间自动断开的问题

我先描述一下环境和问题

环境:服务器:IBM P570 AIX5.3    库:oracle 10G 做的双节点的rac   2层架构,c/s模式,客户端直连数据库,没有中间件缓冲池,服务器模式为专有模式(DEDICATED)。还有就是我们的用户都是走的内网,不对外提供服务,因为是医院,客户端都是医生、护士用的。

问题描述:客户端连接数据库后,如果没有任何操作10分钟左右自己断开连接。

1、数据库:我看了oracle的profile,走的是default, IDLE_TIME是unlimited,所以初步判断不是库的问题   (难道库还有别的配置能限制?)
2、应用:咨询了此应用专业人士,说应用没有做过任何断开的策略限制
3、网络:我们的汇聚没有做过这样的策略


因为排除了profile的原因,怀疑可能是服务器或者网络的问题:

先说服务器:在网上找了很多的资料,主要是两个地方可能会限制:

etc/profile配置文件的TMOUT参数  2、通过no -a|grep idle 查看tcp_keepidle    发现这两个地方都没问题的

网络:虽然我不知道是哪里有策略,但是我觉得可能就是网络的问题,在哪个交换机上或者AIX小机上有策略,干掉长时间空闲的网络连接,提高网络利用率的



最后在网上发帖子,找到了方法:利用oracle的DCD(Dead Connection Detection)机制,避免oracle会话被防火墙强制断开

就是修改network/admin/sqlnet.ora文件

加入:sqlnet.expire_time = 5

这个参数的意思是  oracle每隔5分钟会向所有oracle的客户端发送一个10字节的空包,这样这个链接就不是空闲的了,也就不会被防火墙策略干掉了.


这个是当时我发的帖子:http://www.itpub.net/thread-1823581-3-1.html


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值