我们通常大约每周一次超过ArcSDE的连接限制。许多“连接”不过是SDE.PROCESS_INFORMATION
表中的孤立记录。有什么方法可以定期清理这些连接吗?我只是将打包的ArcSDE服务到9.3.1 SP2,希望这可以解决问题。(它没有。)当前,我重新启动arcsde
服务以清理连接,这是一个非常糟糕的解决方案。
顺便说一下,这是错误:
Failed to connect to database. Maximum number of connections to instance exceeded
我的解决方法:
我的解决方案很简单:每周重新启动SDE服务,并使允许的连接数增加一倍。这当然不是解决方案;对于需要这种解决方法的企业软件,ESRI感到羞耻。毕竟,仍然有可能超过最大连接数。我只能希望我们目前的使用水平不会导致此。
我更改了init.d
脚本,以防止sdemon
提示用户确认他们要停止服务(这是-N
参数的作用)。我还添加了一个restart
选项。
#!/bin/bash
#
# arcsde Init file for starting and stopping ArcSDE 9.3
#
# chkconfig: 35 90 40
# description: ArcSDE startup script
# Source function library.
. /etc/rc.d/init.d/functions
SDE_OWNER="sde"
SDEHOME="/home/sde/sdeexe93"
case "$1" in
start)
echo -n $"Starting ArcSDE:"
su - $SDE_OWNER -c "$SDEHOME/bin/sdemon -o start -p pwd"
echo "OK"
;;
stop)
echo -n $"Stopping ArcSDE:"
su - $SDE_OWNER -c "$SDEHOME/bin/sdemon -o shutdown -p pwd -N"
echo "OK"
;;
restart)
cd "$CWD"
$0 stop
sleep 5
$0 start
;;
*)
echo $"Usage: $0 {start|stop|restart}"
esac
然后,我创建了一个cron作业,每周重新启动一次服务:
# restart arcsde once weekly at 5am Saturdays
0 5 * * 6 service arcsde restart
我还通过编辑$SDEHOME/etc/giomgr.defs
文件将允许的最大连接数从64增加到128 :
CONNECTIONS 128 # maximum number of connections
# NOTE: On windows machines, you may need to
# increase server non-interactive desktop memory.
# Consult the ESRI support site for more information.
然后,我导入了新设置:
$ sdeconfig -o import -f $SDEHOME/etc/giomgr.defs -i esri_sde -u sde
就是这样 我们将看看情况如何。