Dead Connection Detection(DCD)

Oracle DCD(死连接检测)是从SQL*NET 2.1开始出现的功能,包括Oracle Net8和Oracle NET
主要功能:
当服务端侦测到连接异常中断,并且会话为dead session时,DCD将要释放与它相关的所有资源(例如回滚事务,释放lock、latch、memory)。
适用场景:
客户端已经power down,但是与session的连接并没有断开,典型的网络与PC客户端应用的问题。
配置DCD:
通过sqlnet.ora文件里SQLNET.EXPIRE_TIME进行配置
当连接被建立时,SQL*Net读取参数文件的设置,在服务端初始化DCD。时间间隔设置为sqlnet.ora文件里SQLNET.EXPIRE_TIME对应的非零值(单位:分钟)。
当达到超过SQLNET.EXPIRE_TIME对应的时间时,服务端的SQL*NET会发送一个探针包(probe packet)到客户端(如果使用db link,连接的目标端构成服务端)。
这里的"探针"本质上是个空包,不会表示任何SQL*NET级别的数据,它仅在底层协议上创建了数据流。
当连接仍然是active时,探针被丢弃,定时器机制( timer mechanism被重置。如果client被异常终止,服务器端将会接受一个错误。SQL*Net将要通知系统释放掉相关资源。
监控DCD:
最好的方式是server trace:
TRACE_LEVEL_SERVER=16
TRACE_DIRECTORY_SERVER=
在sqlnet.ora中加入如上的参数,生成的trace文件是以svr_.trc形式命名的。

8i之前版本:
 osntns: Enabling dead connection detection (1 min) 

从8i开始:
  nstimini: entry 
  nstimig: entry 
  nstimig: normal exit 
  nstimini: initializing NLTM in asynchronous mode 
  nstimini: normal exit 
  nstimstart: entry

从9.2.0.4.0版本开始,探针信息在trace文件中看不到了,可以通过网络工具进行抓包分析获得,也可通过strace命令等。

具体监控方式可参考395505.1和438923.1


参考文章:
151972.1
395505.1
438923.1

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29843794/viewspace-1270352/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/29843794/viewspace-1270352/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值