zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

如何自动踢除SDE死连接

2023-03-31 11:10:13 时间

继上次我们介绍了通过SDE服务直连Oracle数据库的配置如何修改SDE最大连接数后,本节我们主要介绍如何让服务器自动踢除SDE死连接,希望能对您有所帮助。

一、设置TCPKEEPALIVE参数为TRUE

方法一:用PLSQL或TOAD打开SDE用户下的表SEVER_CONFIG,编辑字段CONNECTIONS值为你的最大连接数。设置字段TCPKEEPALIVE值为TRUE。

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

二、设置KeepAliveTime参数值

在 Microsoft Windows 设置 KeepAliveTime 为 300000. 

HKEY_LOCAL_MACHINESystemCurrentControlSetServicesTCPIPParametersKeepAliveTime.

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

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

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

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

关于SDE连接Oracle数据库的知识就介绍到这里了,希望通过这几次的介绍,能让您对SDE连接Oracle数据库的知识会有一个比较深刻的理解吧!您的收获将是我们最大的快乐!

【编辑推荐】

  1. 浅谈Oracle Buffer Cache的优化思路
  2. 一个Oracle递归查询的实例代码分析
  3. Oracle 11g R2的卸载与重装过程详解
  4. Oracle数据库使用存储过程创建自动增长列
  5. 谈一谈兼容Oracle和DB2开发时的注意事项