Nous dépassons régulièrement la limite de connexion d'ArcSDE, environ une fois par semaine. La plupart des «connexions» ne sont que des enregistrements orphelins de la SDE.PROCESS_INFORMATION
table. Existe-t-il un moyen de nettoyer ces connexions périodiquement? Je viens de charger ArcSDE sur 9.3.1 SP2, en espérant que cela résoudrait le problème. (Ce n'est pas le cas.) Actuellement, je redémarre le arcsde
service pour nettoyer les connexions, une solution assez inélégante.
C'est l'erreur, d'ailleurs:
Failed to connect to database. Maximum number of connections to instance exceeded
Ma solution:
Ma solution était simple: redémarrer le service SDE chaque semaine et doubler le nombre de connexions autorisées. Ce n'est bien sûr pas une solution ; Honte à ESRI pour l'expédition de logiciels d'entreprise qui nécessitent une telle solution de contournement. Après tout, il est toujours possible de dépasser les connexions maximales; Je ne peux qu'espérer que notre niveau d'utilisation actuel ne mène pas à cela.
J'ai modifié le init.d
script pour éviter sdemon
d'inviter l'utilisateur à confirmer qu'il souhaite arrêter le service (c'est ce que fait l' -N
argument). J'ai également ajouté une restart
option.
#!/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
J'ai ensuite créé un travail cron pour redémarrer le service une fois par semaine:
# restart arcsde once weekly at 5am Saturdays
0 5 * * 6 service arcsde restart
J'ai également augmenté le nombre maximum de connexions autorisées de 64 à 128 en modifiant le $SDEHOME/etc/giomgr.defs
fichier:
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.
J'ai ensuite importé les nouveaux paramètres:
$ sdeconfig -o import -f $SDEHOME/etc/giomgr.defs -i esri_sde -u sde
C'était ça. Nous verrons comment ça se passe.
Réponses:
Il existe un article de la base de connaissances esri qui explique comment les connexions orphelines sont censées être gérées . Bien sûr, comme d'autres l'ont souligné, la solution simple (mais pas nécessairement élégante) consiste à simplement redémarrer votre service.
la source
Vous pouvez également envisager de demander à vos utilisateurs de se connecter directement et de contourner complètement le service. Cela a résolu certains problèmes que je rencontrais avec le blocage des services et a entraîné une légère augmentation de la vitesse de connexion pour les utilisateurs.
la source
C'est une réponse qui a été envoyée hier par mon superviseur à un client à ce sujet.
Pour augmenter le nombre de connexions ArcSDE, le type de syntaxe suivant peut être utilisé sur le serveur ArcSDE:
sdeconfig -o alter -v CONNECTIONS=140 -u sde -p sde_password -i sde_instance
où "sde_instance" est le nom du service ArcSDE ou le numéro de port.
Vous pouvez vérifier que cette modification a été effectuée à l'aide de la commande:
sdeconfig -o list -u sde -p sde_password -i sde_instance.*
la source
arcsde
service une fois par semaine.Nous avons toujours juste fait rebondir le serveur périodiquement pour ce faire ...
la source
Avez-vous lu cet article sur le Forum ESRI, il est un peu vieux mais il existe des scripts qui font ce que vous voulez faire?
la source
T B
une fois, mais cela n'a eu aucun effet. Il a presque 5 ans, donc je soupçonne que trop de choses ont changé dans l'environnement depuis.