Installieren von Oracle und ArcSDE auf separaten Servern

Wenn Sie den ArcSDE-Anwendungsserver auf einem anderen Server installieren als Oracle, sind zum Einrichten einer Geodatabase weitere Schritte erforderlich. Diese beinhalten das Installieren und Konfigurieren des Oracle-Clients auf dem ArcSDE-Server, das Kopieren freigegebener Bibliotheken vom ArcSDE-Server auf den Oracle-Server, das Konfigurieren von EXTPROC für die Suche der Bibliotheken und das Festlegen der Umgebungsvariablen TWO_TASK oder LOCAL auf dem ArcSDE-Server.

Schritte:
  1. Stellen Sie sicher, dass Oracle auf dem Server installiert ist und ausgeführt wird.
  2. Installieren Sie ArcSDE auf dem ArcSDE-Server, wie in den Themen Installieren von ArcSDE for Oracle unter Linux oder UNIX oder Installieren von ArcSDE for Oracle unter Windows beschrieben.
  3. Installieren Sie die Oracle-Client-Software auf dem Server, auf dem ArcSDE installiert ist, und konfigurieren Sie diese so, dass eine Verbindung mit der Oracle-Datenbank hergestellt wird.
  4. Stellen Sie sicher, dass Sie per SQL vom Client-Server aus auf die Oracle-Remote-Datenbank zugreifen können.
  5. Konfigurieren Sie die Oracle-Datenbank, indem Sie einen Benutzer "sde" hinzufügen und ggf. Variablen für den Betriebssystembenutzer "sde" unter Linux oder UNIX festlegen.
  6. Kopieren Sie die von EXTPROC verwendete freigegebene Bibliothek "st_shape" auf den Oracle-Server. Wenn Sie beabsichtigen, den Speichertyp "ST_Raster" zu verwenden, kopieren Sie außerdem die freigegebene Bibliothek "libst_raster_ora" auf den Oracle-Server. Die konkreten Namen dieser Dateien hängen vom verwendeten Betriebssystem ab. Die vollständigen Namen für jedes unterstützte Betriebssystem können Sie Tabelle 1 entnehmen.

    Stellen Sie sicher, dass die auf den Oracle-Server kopierten Dateien für die Ausführung unter dem Betriebssystem des Oracle-Servers geeignet sind. Wenn zum Beispiel ArcSDE auf einem Linux-Computer installiert ist, Oracle jedoch auf einem Solaris-Computer, müssen die auf den Oracle-Server kopierten Bibliotheksdateien für Solaris ausgelegt sein. Um die Dateien für ein anderes Betriebssystem zu erhalten, können Sie die Software-Dateien der ArcSDE-Komponente auf dem Oracle-Server installieren, die SDEHOME-Dateien erstellen und alles außer den benötigten Bibliotheksdateien löschen.

    Wenn die Oracle-Datenbank auf einem Windows Server installiert ist, können Sie die Bibliotheken aus dem Verzeichnis "bin" von ArcGIS Desktop kopieren. Sie müssen lediglich sicherstellen, dass ArcGIS Desktop und ArcSDE die gleiche Version aufweisen.

    Tabelle 1

    Bibliotheksname

    Betriebssystemabhängige Dateinamen

    ST_Shape

    st_shapelib.dll (Windows), libst_shapelib.so (Solaris, Linux und HP-UX Itanium) oder libst_shapelib_64.so (IBM)

    ST_Raster

    HinweisHinweis:

    Die Installation von "ST_Raster" ist optional. Falls Sie diesen Typ verwenden möchten, finden Sie entsprechende Anweisungen unter Installieren des ST_Raster-Typs unter Oracle.

    libst_raster_ora.dll (Windows), libst_raster_ora.so (Solaris, Linux und HP-UX Itanium) oder libst_raster_ora_64.so (IBM)

    Diese Dateien befinden sich im Verzeichnis "bin" (Windows) oder "lib" (UNIX/Linux) von SDEHOME, nachdem Sie ArcSDE installiert haben. Sie können diese Dateien in das Verzeichnis "ORACLE_HOME\bin" (Windows) oder "ORACLE_HOME/bin" (UNIX/Linux) auf dem Oracle-Server kopieren. Dies ist das Standardverzeichnis, in dem Oracle nach freigegebenen Bibliotheken sucht. Sie können diese Dateien aber auch in jedes andere Verzeichnis verschieben, auf das der Benutzer, der ORACLE_HOME besitzt, zugreifen kann.

  7. Die Bibliotheksdefinition im Oracle Data Dictionary muss mit dem korrekten Bibliothekspfad zu der Datei aktualisiert werden, die "st_shapelib" und "libst_raster_ora" enthält. Der Pfad muss auf den Speicherort auf dem Oracle-Server, nicht auf den im ArcSDE-Installationspfad verweisen.
    HinweisHinweis:

    Durch eine Änderung der Definition des Bibliothekspfads werden Pakettexte ungültig, die auf diesen verweisen. Aus diesem Grund müssen die Pakettexte einiger gespeicherter Prozedurpakete von ArcSDE mithilfe von Oracle neu kompiliert werden.

  8. Erstellen Sie als ArcSDE-Administrator (der Benutzer "sde") die Oracle-Bibliothekseinträge für diese ArcSDE-Bibliotheken mit dem folgenden SQL-Befehl.

    Ersetzen Sie für Windows-Server <full_path> durch den Pfad zu den Bibliotheken, und führen Sie die folgenden Befehle aus:

    CREATE OR REPLACE LIBRARY st_shapelib AS '<full_path>\st_shapelib.dll' 
    CREATE OR REPLACE LIBRARY libst_raster AS '<full_path>\libst_raster_ora.dll'

    Ersetzen Sie für UNIX- oder Linux-Server <full_path> durch den Pfad zu den Bibliotheken, geben Sie die korrekten Bibliotheksnamen an, und führen Sie die folgenden Befehle aus:

    CREATE OR REPLACE LIBRARY st_shapelib AS '<full_path>/libst_shapelib.so'
    CREATE OR REPLACE LIBRARY libst_raster AS '<full_path>/libst_raster_ora.so'

    HinweisHinweis:

    Der Name der Bibliothek auf UNIX-Plattformen variiert. Den genauen Namen der Bibliothek für das verwendete Betriebssystem können Sie Tabelle 1 entnehmen.

  9. Konfigurieren Sie Oracle EXTPROC für die Suche der Bibliotheken "st_shapelib" und "libst_raster_ora". Dies geschieht in der Listener-Konfigurationsdatei "listener.ora" und in der Datei "tnsnames.ora" auf dem Datenbankserver.
    1. Fügen Sie der Datei "tnsnames.ora" auf dem Remote-Datenbankserver den folgenden Eintrag hinzu:

      EXTPROC_CONNECTION_DATA =
        (DESCRIPTION = 
        (ADDRESS_LIST = 
          (ADDRESS = 
           (PROTOCOL = IPC)
            (KEY = extproc)  
           ) 
         ) 
          (CONNECT_DATA = 
           (SID = PLSExtProc) 
            (PRESENTATION = RO) 
           ) 
        ) 

    2. Fügen Sie SID_LIST in der Datei "listener.ora" auf dem Remote-Datenbankserver den folgenden Eintrag hinzu:

      Auf Windows-Servern

      SID_LIST_LISTENER = 
       (SID_LIST =   
        (SID_DESC = 
         (SID_NAME = PLSExtProc) 
         (ORACLE_HOME =<ORACLE_HOME_PATH>) 
         (PROGRAM = extproc)
          (ENVS="EXTPROC_DLLS=<full_lib_path>\st_shapelib.dll;<full_lib_path>\libst_raster_ora.dll")  
         )
        )

      Beachten Sie, dass die Einträge für die Bibliotheken "st_shapelib" und "libst_raster_ora" durch ein Semikolon getrennt werden.

      Auf UNIX- oder Linux-Servern

      SID_LIST_LISTENER =
       (SID_LIST = 
        (SID_DESC = 
          (SID_NAME = PLSExtProc) 
          (ORACLE_HOME =<ORACLE_HOME_PATH>) 
          (PROGRAM = extproc)
             (ENVS="EXTPROC_DLLS=<full_lib_path>/libst_shapelib.so:<full_lib_path>\libst_raster_ora.so,LD_LIBRARY_PATH=<full_lib_path>")   
         )
        )

      HinweisHinweis:

      Die Pfadvariable (im Beispiel angezeigt als LD_LIBRARY_PATH) hängt vom Betriebssystem ab. Unter HP-UX Itanium lautet die Variable SHLIB_PATH. Unter IBM AIX lautet sie LIBPATH.

      Wie bereits erwähnt, variieren die Bibliotheksnamen je nach Betriebssystem. Stellen Sie sicher, dass Sie den richtigen Bibliotheksnamen verwenden.

  10. Starten Sie den Oracle-Listener neu.
  11. Stellen Sie sicher, dass der Benutzer "sde" über die erforderlichen Berechtigungen zum Erstellen einer Geodatabase verfügt.
  12. Führen Sie die ArcSDE-Postinstallationsschritte aus, wie in dem Thema für das jeweilige Betriebssystem beschrieben. Informationen für Windows-Server finden Sie unter Erstellen einer Geodatabase in Oracle unter Windows und Autorisieren von ArcSDE-Geodatabases in Oracle unter Windows. Informationen für Linux- oder UNIX-Server finden Sie unter Erstellen einer Geodatabase in Oracle unter Linux oder UNIX und Autorisieren von ArcSDE-Geodatabases in Oracle unter Linux oder UNIX.
  13. Richten Sie einen ArcSDE-Dienst ein, wenn Sie diesen zum Herstellen einer Verbindung mit der Geodatabase verwenden möchten. Führen Sie abhängig vom Betriebssystem, unter dem ArcSDE installiert ist, einen der folgenden Schritte aus:
  14. Damit der Oracle-Client auf dem ArcSDE-Server eine Verbindung mit einer Remote-Instanz herstellen kann, muss eine Umgebungsvariable festgelegt werden, um die entfernte Oracle-Instanz durch den Netzdienstnamen zu identifizieren.
    • Wenn der ArcSDE-Server unter UNIX oder Linux ausgeführt wird, legen Sie TWO_TASK auf den Oracle-Netzdienstnamen in der Datei "$SDEHOME/etc/dbinit.sde" fest. Die Variable ORACLE_HOME muss ebenfalls festgelegt werden.
    • Wenn der ArcSDE-Server unter Windows ausgeführt wird, legen Sie LOCAL auf den Oracle-Netzdienstnamen in der Datei "%SDEHOME%\etc\dbinit.sde" fest.

    Sie können die Variable TWO_TASK oder LOCAL auch zum Angeben des Netzdienstnamens einer lokalen Oracle-Datenbank verwenden. Hiervon wird jedoch abgeraten, da dies zusätzlichen Rechenaufwand beim Herstellen einer Verbindung zur Datenbank verursacht. Für lokale Verbindungen sollten Sie die Oracle_SID verwenden.

  15. Legen Sie die Variable TNS_ADMIN fest, wenn die Datei "tnsnames.ora" nicht im Standardverzeichnis gespeichert ist.

Verwandte Themen


3/6/2012