Rutynowo przekraczamy limit połączeń ArcSDE, mniej więcej raz w tygodniu. Wiele „połączeń” to tylko osierocone rekordy w SDE.PROCESS_INFORMATION
tabeli. Czy istnieje jakiś sposób na okresowe czyszczenie tych połączeń? Właśnie obsłużyłem spakowany ArcSDE do wersji 9.3.1 SP2, mając nadzieję, że to rozwiąże problem. (Nie udało się.) Obecnie ponownie uruchamiam arcsde
usługę, aby oczyścić połączenia, dość nieeleganckie rozwiązanie.
Przy okazji jest to błąd:
Failed to connect to database. Maximum number of connections to instance exceeded
Moje obejście:
Moje rozwiązanie było proste: co tydzień uruchamiaj ponownie usługę SDE i dwukrotnie zwiększ liczbę dozwolonych połączeń. To oczywiście nie jest rozwiązanie ; szkoda ESRI za wysyłkę oprogramowania dla przedsiębiorstw, które wymaga takiego obejścia. W końcu nadal można przekroczyć maksymalną liczbę połączeń; Mogę mieć tylko nadzieję, że nasz obecny poziom do tego nie prowadzi.
Zmieniłem init.d
skrypt, aby nie wyświetlał sdemon
monitu o potwierdzenie, że chce zatrzymać usługę (tak -N
robi argument). Dodałem również restart
opcję.
#!/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
Następnie utworzyłem zadanie cron w celu ponownego uruchomienia usługi raz w tygodniu:
# restart arcsde once weekly at 5am Saturdays
0 5 * * 6 service arcsde restart
Zwiększyłem również maksymalną liczbę dozwolonych połączeń z 64 do 128, edytując $SDEHOME/etc/giomgr.defs
plik:
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.
Następnie zaimportowałem nowe ustawienia:
$ sdeconfig -o import -f $SDEHOME/etc/giomgr.defs -i esri_sde -u sde
To było to. Zobaczymy jak to będzie.
Odpowiedzi:
Istnieje artykuł z bazy wiedzy esri, który mówi o tym, w JAKI SPOSÓB należy obsługiwać połączenia osierocone . Oczywiście, jak zauważyli inni, prostym (choć niekoniecznie eleganckim) rozwiązaniem jest ponowne uruchomienie usługi.
źródło
Możesz również rozważyć możliwość bezpośredniego połączenia i ominięcia usługi przez użytkowników. To rozwiązało niektóre problemy z zawieszaniem się usług i spowodowało nieznaczne zwiększenie prędkości połączenia dla użytkowników.
źródło
To jest odpowiedź, która została wczoraj wysłana przez mojego przełożonego do klienta w tej sprawie.
Aby zwiększyć liczbę połączeń ArcSDE, na serwerze ArcSDE można zastosować następującą składnię:
sdeconfig -o alter -v CONNECTIONS=140 -u sde -p sde_password -i sde_instance
gdzie „sde_instance” to nazwa usługi ArcSDE lub numer portu.
Możesz sprawdzić, czy ta zmiana została wprowadzona za pomocą polecenia:
sdeconfig -o list -u sde -p sde_password -i sde_instance.*
źródło
arcsde
usługę raz w tygodniu.Zawsze po prostu odbijaliśmy serwer, aby to zrobić ...
źródło
Czytałeś ten post na forum ESRI , jest trochę stary, ale są skrypty, które robią to, co chcesz robić?
źródło
T B
raz, ale nie przyniósł żadnego efektu. Ma prawie 5 lat, więc podejrzewam, że od tego czasu w środowisku zmieniło się zbyt wiele.