oralce 断连后不自动断开问题

CS客户端登陆提示错误:

maxinum number of connections to instance exceeded

问题原因:客户端每次连接oracle数据库,有时未断开,服务端中一直积累了连接数

 

解决方法:

一、调整允许连接的最大数

  • 方法一:用PLSQL或TOAD打开SDE用户下的表SEVER_CONFIG,编辑字段CONNECTIONS值为你的最大连接数。设置字段TCPKEEPALIVE值为TRUE。
  • 方法二:打开SDE的安装目录下的(一般安装路径为C:\arcgis\ArcSDE\sqlexe\etc)giomgr.defs文件进行编辑,设置CONNECTIONS参数为你的最大连接数。然后设置TCPKEEPALIVE参数为TRUE。 通过命令导入到数据库中:sdeconfig –o import –f C:\arcgis\ArcSDE\sqlexe\etc\giomgr.defs –i esri_sde(数据库实例名) –s (ServerName) –u sde(用户名) –p sde(密码) 。 设置好后需要重启SDE服务才能生效。

 

二、设置KeepAliveTime参数值,当无用的连接超过 300000毫秒时自动断开连接

在 Microsoft Windows 设置 KeepAliveTime 为 300000. 

\HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\TCPIP\Parameters\KeepAliveTime

If the如果这个注册表键值不存在,则要自己创建这个值. 

同进这个时间指的是毫秒.

其中当线程资料超过corePoolSize的值时,则线程时间超过KeepAliveTime的则自动断开,KeepAliveTime=300000。

 当TCPKEEPALIVE参数设置为TRUE后,数据库会根据SDE服务所在机器的注册表项KEEPALIVETIME所提供的响应时间, 不断侦测所有连接是否为无效连接,如果为无效连接,则自动删除该连接。 对默认安装操作系统的机器而言KEEPALIVETIME注册表项是没有的。 如果没有话,服务器不会主动发送 KeepAlive 数据包来确认空闲连接是否依然毫无变化。也就不会进行删除操作。 所以上面提到的无效连接会越来越多。可以在如下路径中:Local_Machine\system\CurrentControlSet\Services\Tcpip\Parameters 添加DWORD项:KeepAliveTime。 如果不设置值的话默认为两小时。具体时间可以看情况而定。一般推荐为5分钟。然后重启机器(一定要重启,注册表的新加项才生效)。

 

转载于:https://www.cnblogs.com/WSS479218170/p/8243798.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值