Installieren von ArcSDE und PostgreSQL auf verschiedenen Linux-Servern

Wenn Sie sowohl ArcSDE als auch PostgreSQL auf separaten Servern mit dem Betriebssystem Linux installieren, entspricht das Installationsverfahren weitgehend der Installation beider Komponenten auf dem gleichen Server. Der einzige Unterschied besteht darin, dass Sie einen Betriebssystembenutzer "sde" auf dem ArcSDE-Server und einen Betriebssystembenutzer "postgres" auf dem PostgreSQL-Server erstellen und dass Sie beim Ausführen des Befehls "sdesetup" die Option –o angeben müssen.

Schritte:
  1. Vergewissern Sie sich, dass der ArcSDE-Server die Anforderungen für die ArcSDE-Installation erfüllt und dass der PostgreSQL-Server die Anforderungen für eine PostgreSQL-Installation erfüllt. Hierzu müssen Sie u. a. sicherstellen, dass keine ältere Version von PostgreSQL bereits auf dem PostgreSQL-Server vorhanden ist.
  2. Melden Sie sich als Benutzer "root" an.
  3. Greifen Sie auf die ArcSDE-Installationsdateien auf dem PostgreSQL-Server zu.
    • Wenn Sie eine DVD verwenden, legen Sie diese in das entsprechenden Laufwerk ein, und mounten Sie das Laufwerk.
    • Wenn Sie ein ISO-Image heruntergeladen haben, erstellen Sie ein Verzeichnis für das Image, und mounten Sie das Image.

    Nachfolgend finden Sie Beispiele für das Erstellen eines Verzeichnisses und das Mounten eines Images:

    mkdir /mnt/iso

    mount -o loop /mydir/downloads/ArcSDE10_UNIX_123456.iso /mnt/iso

  4. Ändern Sie die Verzeichnisse in den Speicherort des Images oder das DVD-Laufwerk.
  5. Installieren Sie die auf dem Installationsmedium bereitgestellten RPMs.
  6. Melden Sie sich als Benutzer "postgres" an, und bereiten Sie eine Shell vor, indem Sie die folgenden Variablen in der Shell-Datei des Benutzers "postgres" definieren.

    Die erste Variable wird durch das Skript "create_pgdb.sde" festgelegt. Die Pfadvariablen müssen Sie manuell festlegen.

    Die folgenden Beispiele beziehen sich auf die Shell ".bashrc" und ".bash_profile" und zeigen die Standardverzeichnisse.

    PGDATA=/var/lib/pgsql/data
    export PGDATA

    PATH=$PATH:/usr/bin
    export PATH

    LD_LIBRARY_PATH=/usr/lib
    export LD_LIBRARY_PATH

    HinweisHinweis:

    Sie müssen die Quelle der Shell-Datei angeben, nachdem Sie diese Variablen definiert haben.

  7. Wenn Sie den Tablespace in einem anderen als dem Standardverzeichnis speichern, erstellen Sie ein Verzeichnis für die Speicherung des ArcSDE-Tablespace, indem Sie einen ähnlichen Befehl wie den folgenden ausgeben:

    mkdir $PGDATA/sde

    chown -R postgres $PGDATA/sde

    In den vorangehenden Beispielen lautet der Name des Verzeichnisses "sde".

  8. Führen Sie als Benutzer "postgres" das Skript "setup_pgdb.sde" aus.
  9. Konfigurieren Sie das PostgreSQL-Datenbank-Cluster, sodass dieses Client-Verbindungen zulässt. Anweisungen hierzu finden Sie unter Konfigurieren eines PostgreSQL-Datenbank-Clusters für die Verbindungsherstellung unter Linux.
  10. Legen Sie das ArcSDE-Installationsmedium in das entsprechende Laufwerk am ArcSDE-Server ein, und mounten Sie das Laufwerk.
  11. Führen Sie zum Installieren von ArcSDE die Anweisungen unter Installieren von ArcSDE for PostgreSQL unter Linux aus.
  12. Melden Sie sich als Benutzer "root" an, und übertragen Sie per FTP die Dateien "st_geometry.so" und (optional) "libst_raster_pg.so" aus dem Verzeichnis "$SDEHOME/bin" auf dem ArcSDE-Server in das Verzeichnis "usr/lib/pgsql" auf 32-Bit-Servern bzw. in das Verzeichnis "usr/lib64/pgsql" auf 64-Bit-Servern im PostgreSQL-Installationsverzeichnis auf dem PostgreSQL-Server.
  13. Installieren Sie als Benutzer "root" den RPM "postgresql-libs-8.3.8-1PGDG.rhel5" auf dem ArcSDE-Server, um die PostgreSQL-Bibliotheken abzurufen, auf die ArcSDE zugreifen muss.
  14. Legen Sie die Umgebungsvariablen PGHOST und PGPORT in der Datei "dbinit.sde" im Verzeichnis "SDEHOME/etc" auf dem Server fest, auf dem ArcSDE installiert ist.

    Der Name des Servers, auf dem PostgreSQL installiert ist, lautet PGHOST. PGPORT ist die Portnummer, die der PostgreSQL-Postmasterprozess für die Überwachung nutzt. Informationen zum Festlegen von Variablen in dieser Datei finden Sie unter Datei "dbinit.sde".

  15. Wenn Sie über einen ArcSDE-Dienst Verbindungen mit der Geodatabase herstellen, öffnen Sie die Datei des Diensts im Verzeichnis "etc" des Systems in einem Texteditor.
    HinweisHinweis:

    Zum Ändern der Dienstedatei benötigen Sie Stammzugriff.

  16. Fügen Sie der Dienstedatei eine Zeile hinzu, um die TCP/IP-Portnummer und den Namen für den ArcSDE-Dienst zu definieren.

    Fügen Sie der Dienstedatei eine ähnliche Zeile wie die folgende hinzu:

    esri_sde    5151/tcp    #ArcSDE on pinetree

    HinweisHinweis:

    Benutzer, die eine Verbindung mit dem Dienst herstellen, können hierzu die Portnummer (in diesem Beispiel "5151") verwenden. Wenn die Benutzer lieber den Namen (in diesem Beispiel "esri_sde") zum Herstellen einer Verbindung verwenden möchten, müssen sie die gleiche Zeile zur Dienstedatei des jeweiligen Systems hinzufügen.

  17. Wenn Sie einen ArcSDE-Dienst verwenden, öffnen Sie die Datei "services.sde" im Verzeichnis $SDEHOME/etc in einem Texteditor, und fügen Sie dieser Datei dieselbe Zeile hinzu wie der Dienstedatei im Systemverzeichnis "etc".
  18. Führen Sie den Befehl "sdesetup" aus, um die Geodatabase zu erstellen. Stellen Sie sicher, dass Sie die Option –s zusammen mit dem PostgreSQL-Servernamen angeben.
    sdesetup -o install -d POSTGRESQL 
    -u sde -s pgserver -D arcsdegdb
    -l arcsdeserver,93,ecp123456,none,ABCDEF
    

    Durch Einschließen der Option - l in den Befehl "sdesetup" wird die Geodatabase für die Verwendung autorisiert. Wenn Sie beim Ausführen des Befehls diese Option nicht angeben, müssen Sie den Befehl "sdesetup" mit der Operation "update_key" ausführen, um die Geodatabase zu autorisieren.

  19. Führen Sie die Anweisungen unter Autorisieren von ArcSDE-Geodatabases in PostgreSQL unter Linux aus.
  20. Wenn Sie einen ArcSDE-Dienst verwenden, starten Sie diesen, indem Sie die Anweisungen unter Starten eines lokalen ArcSDE-Diensts unter Linux oder UNIX oder Starten eines Remote-ArcSDE-Diensts unter Linux oder UNIX ausführen.

7/10/2012