Kurzer Überblick über ArcSDE-Dienste
In diesem Thema wird die Funktionsweise eines ArcSDE-Diensts erklärt. Zudem erfahren Sie, was geschieht, wenn ein Client eine Verbindung über einen ArcSDE-Dienst herstellt.
Funktionsweise des ArcSDE-Diensts
Wenn Sie die Verbindung zur Datenbank über einen ArcSDE-Dienst herstellen (dieser wird auch als ArcSDE-Anwendungsserver bezeichnet), überwacht jeder ArcSDE-Dienst mit dem giomgr-Prozess einen bestimmten TCP/IP-Dienstnamen und eine TCP/IP-Portnummer auf Benutzerverbindungen. Der Standardname des Diensts lautet "esri_sde" und die Standard-Portnummer "5151".
Auf UNIX- oder Linux-Systemen finden Sie den Dienstnamen und die Portnummer in der Datei "$SDEHOME/etc/services.sde". Weitere Informationen zu dieser Datei finden Sie unter Datei "services.sde".
Auf Windows-Systemen wird der ArcSDE-Dienst während der Einrichtung der ArcSDE-Postinstallation als Windows-Dienst erstellt. Dieser ArcSDE-Dienst ist so konfiguriert, dass er beim Neustart des Server-Hosts automatisch gestartet wird. Wie alle Windows-Dienste wird der ArcSDE-Dienst normalerweise im Fenster "Dienste" der Windows-Systemsteuerung gestartet und beendet. Der Postinstallations-Assistent gibt automatisch den Dienstnamen und die Portnummer als Standard-Dienstnamen in die Registrierung und die Windows- und ArcSDE-Dienstedatei ein.
Bei den meisten der unterstützten Datenbankmanagementsystemen (DBMS) sind mehrere Datenbanken auf einem Server zulässig. Jede Datenbank muss über einen eigenen ArcSDE-Dienst verfügen, über diesen ArcSDE-Dienst können jedoch mehrere Client-Verbindungen zur Datenbank hergestellt werden.
Was geschieht, wenn eine Client-Anwendung eine Verbindung über einen ArcSDE-Dienst herstellt?
Die nachstehend beschriebene Ereignisfolge findet statt, wenn eine ArcSDE-Client-Anwendung über einen ArcSDE-Dienst eine Verbindung zu einer ArcSDE-Geodatabase herstellt.
-
Der giomgr-Prozess überwacht seinen TCP/IP-Port auf Verbindungen.
Der giomgr-Prozess muss sich im Überwachungsstatus befinden, bevor eine Verbindungsanforderung verarbeitet werden kann. Stellen Sie sicher, dass der ArcSDE-Dienst gestartet wurde und empfangsbereit ist. Unter UNIX und Linux können Sie den Status des giomgr-Prozesses mithilfe des Befehls "sdemon –o status" bestimmen.
Unter Windows kann der Status des ArcSDE-Anwendungsdienstes im Fenster "Dienste" ermittelt werden. Öffnen Sie in der Windows-Systemsteuerung das Fenster "Verwaltung". Doppelklicken Sie auf das Symbol Dienste, um das Menü "Dienst" aufzurufen. Für den ArcSDE-Dienst sollte in der Statusspalte der Wert "Gestartet" angegeben sein. Unter Windows können Sie anstelle des Menüs "Dienste" auch den Befehl "sdemon –o status" von einer MS-DOS-Befehlszeile aus verwenden.
-
Anwendungen senden Verbindungsanforderungen an den ArcSDE-Dienst.
Der giomgr-Prozess beantwortet die Verbindungsanforderungen nacheinander. In Abhängigkeit von dem zugrunde liegenden DBMS kann die Überprüfung einer Verbindungsanforderung durch den giomgr-Prozess zwischen einer und fünf Sekunden dauern. Wenn viele Anwendungen gleichzeitig versuchen, eine ArcSDE-Verbindung herzustellen, kann es bei einigen zu einer Überschreitung des TCP/IP-Timeouts von 75 Sekunden kommen.
-
Der giomgr-Prozess vergleicht die Uhrzeit des Anwendungscomputers mit der Uhrzeit seines Hosts.
Wenn die Uhrzeit des Anwendungscomputers um mehr als den Wert von MAXTIMEDIFF in Sekunden von der Uhrzeit des Servers abweicht, wird die Verbindungsherstellung der Anwendung vom giomgr-Prozess abgelehnt. MAXTIMEDIFF wird in der Tabelle SERVER_CONFIG festgelegt. Weitere Informationen finden Sie unter Datei "giomgr.defs" und Systemtabelle SERVER_CONFIG.
-
Der giomgr-Prozess vergleicht die Version der Client-Anwendung mit der Version des ArcSDE-Diensts.
Wenn die Version der Client-Anwendung älter ist als die Version des Anwendungsservers, wird die Verbindungsherstellung abgelehnt. Ausnahmen bilden ArcGIS 9.2 SP5 oder Clients mit höheren Service Packs der Version 9.2. Normalerweise sind ArcSDE-Anwendungen abwärtskompatibel. Beispiel: Anwendungen, die mit der ArcSDE 9.2-API (Application Programming Interface, Anwendungsprogrammierschnittstelle) entwickelt wurden, wie z. B. ArcGIS Desktop 9.2, können über einen ArcSDE-Dienst eine Verbindung zu Geodatabases der Version ArcSDE 9.1 oder früher herstellen. Anwendungen, die mit einer früheren Version der ArcSDE-API entwickelt wurden, können keine Verbindung zu ArcSDE 9.2-Anwendungsservern herstellen. So kann ArcGIS Desktop 9 beispielsweise keine Verbindung zu einer ArcSDE 9.2-Geodatabase herstellen. Informationen über unterstützte ArcSDE-Versionen finden Sie auf der Support-Website von Esri.
-
Vom giomgr-Prozess wird ein gsrvr-Prozess für die Anwendung gestartet.
Der giomgr-Prozess muss einen gsrvr-Prozess erzeugen können. Wenn die von den aktuellen Betriebssystemeinschränkungen festgelegte maximale Anzahl an Prozessen erreicht ist, schlägt dieser Vorgang fehlt, und es wird kein gsrvr-Prozess erstellt.
-
Der gsrvr-Prozess stellt eine Verbindung zum DBMS her.
Die Client-Anwendung muss einen gültigen Benutzer- und Datenbanknamen sowie ein gültiges Kennwort bereitstellen (für Oracle-Datenbankmanagementsysteme ist kein Datenbankname erforderlich), wenn die Verbindungsanforderung an den giomgr-Prozess gesendet wird. Ungültige Einträge werden mit dem Fehler -9 SE_INVALID_USER abgelehnt.
-
Der giomgr-Prozess verknüpft die Anwendung mit dem gsrvr-Prozess.
Nachdem der giomgr-Prozess die Anwendung mit dem gsrvr-Prozess verknüpft hat, nimmt er die Überwachung auf neue Verbindungen wieder auf und führt andere Verwaltungs-Tasks für den ArcSDE-Dienst durch. Die gesamte Kommunikation zwischen Anwendung und DBMS wird vom gsrvr-Prozess erledigt.