Herstellen einer Verbindung mit Oracle von ArcGIS

Um eine Verbindung mit Oracle über Oracle-Clients auf ArcGIS-Client-Computern herzustellen, legen Sie Umgebungsvariablen fest, die auf den Oracle-Client verweisen, und erstellen Sie über ArcGIS eine Datenbankverbindung.

Um ArcGIS Server-Web-Services zu veröffentlichen, die auf die Daten in Ihrer Oracle-Datenbank verweisen, registrieren Sie die Datenbankverbindungsdatei bei den ArcGIS Server-Sites.

Installieren der Oracle-Client-Software

Die Oracle-Client-Software muss auf allen ArcGIS-Client-Computern installiert werden, die eine Verbindung mit der Datenbank herstellen. Wenn Sie nicht berechtigt sind, Software auf den Computern zu installieren, auf denen ArcGIS-Clients ausgeführt werden, muss der Oracle-Client von der IT-Abteilung installiert und konfiguriert werden.

Installieren Sie eine Version der Oracle-Client-Anwendung, die mit der Version der Datenbank kompatibel ist, mit der Sie eine Verbindung herstellen möchten.

Sie können den Oracle Instant, Runtime oder Administrator Client bei Oracle anfordern und entsprechend den Anweisungen in der Oracle-Dokumentation auf dem Client-Computer installieren.

Anhand der Informationen in der folgenden Tabelle kann die geeignete Oracle-Clientkonfiguration ermittelt werden:

InstallationskombinationenZu verwendende Konfiguration

ArcGIS Server (Site mit einem Computer) und Oracle werden auf demselben Server installiert, ArcGIS Pro wird auf unterschiedlichen Computern installiert.

Installieren Sie einen 64-Bit-Oracle-Client auf allen ArcGIS Pro-Computern, und stellen Sie die PATH-Variable auf das Startverzeichnis des Oracle-Clients ein.

Sie müssen keinen Oracle-Client auf dem Server installieren, da die zu verbindenden Dateien mit dem Oracle-Datenbankmanagementsystem installiert werden. Die Systemvariable LD_LIBRARY_PATH (Linux) oder PATH (Microsoft Windows) muss auf das Startverzeichnis von Oracle festgelegt sein.

Wenn Sie einen TNS-Namen für den Oracle-Client festlegen, müssen Sie auf dem ArcGIS Server- und dem ArcGIS Pro-Computer denselben Namen verwenden.

ArcGIS Server wird auf mindestens einem Computer installiert, der vom DBMS getrennt ist. ArcGIS Pro wird auf Computern installiert, die sowohl von Oracle als auch von ArcGIS Server getrennt sind.

Installieren Sie einen 64-Bit-Oracle-Client auf allen ArcGIS Pro-Computern, und stellen Sie die PATH-Variable auf das Startverzeichnis des Oracle-Clients ein.

Installieren Sie den 64-Bit-Client für Oracle auf allen ArcGIS Server-Computern, und stellen Sie sicher, dass die Systemvariable "PATH" (Windows) bzw. "LD_LIBRARY_PATH" (Linux) auf das Startverzeichnis des Oracle-Clients eingestellt ist.

Wenn Sie einen TNS-Namen für den Oracle-Client festlegen, müssen Sie auf dem ArcGIS Server- und dem ArcGIS Pro-Computer denselben Namen verwenden.

ArcGIS Server und ArcGIS Pro werden auf demselben Server und Oracle wird auf einem anderen Server installiert.

Installieren Sie den 64-Bit-Oracle-Client auf allen ArcGIS Server-Computern. Sowohl ArcGIS Server als auch ArcGIS Pro verwenden diesen Client.

Legen Sie für die Systemvariable "PATH" das Startverzeichnis des Oracle-Clients fest.

ArcGIS Server, ArcGIS Pro und Oracle werden auf einem Computer installiert.

ArcGIS Server und ArcGIS Pro verwenden die mit dem Oracle-Datenbankmanagementsystem installierten 64-Bit-Client-Dateien, um die Verbindung herzustellen.

Stellen Sie die PATH-Variable auf das Startverzeichnis des Oracle-Clients ein.

Wenn die ArcGIS Server-Site zusätzliche Server umfasst, installieren Sie den 64-Bit-Oracle-Client auf jedem Server der Site, und stellen Sie die PATH-Variable auf das Startverzeichnis des Oracle-Clients ein.

Herstellen einer Verbindung von ArcGIS Pro

Legen Sie nach der Installation des Oracle-Clients auf dem ArcGIS Pro-Computer für die PATH-Umgebungsvariable einen Speicherort auf dem Oracle-Client fest, und erstellen Sie eine Datenbankverbindung.

Festlegen der PATH-Variable

Legen Sie für die PATH-Umgebungsvariable auf dem ArcGIS Pro-Computer den Speicherort der Oracle-Client-Installation fest. Die Anweisungen zum Festlegen der PATH-Umgebungsvariable finden Sie in der Microsoft Windows-Dokumentation.

Wenn ArcGIS Pro auf dem Computer ausgeführt wurde, bevor Sie die PATH-Variable festgelegt haben, starten Sie es neu, damit die neue Einstellung wirksam wird.

Verbinden mit der Datenbank

Fügen Sie über das Dialogfeld Datenbankverbindung oder das Geoverarbeitungswerkzeug Datenbankverbindung erstellen eine Datenbankverbindung hinzu.

In den folgenden Schritten wird die Verwendung des Dialogfeldes Datenbankverbindung zur Herstellung einer Verbindung mit Oracle beschrieben.

  1. Öffnen Sie den Bereich Katalog in ArcGIS Pro.
  2. Klicken Sie mit der rechten Maustaste auf Datenbanken oder einen Ordner unter Ordner, und klicken Sie dann auf Neue Datenbankverbindung.
  3. Wählen Sie aus der Dropdown-Liste Datenbankplattform den Eintrag Oracle aus.
  4. Wählen Sie eine der folgenden Verbindungsoptionen aus dem Dropdown-Menü Verbindungstyp aus:
    • Standard: Wählen Sie diese Option, um eine Verbindung mit Oracle Easy Connect-Zeichenfolgen herzustellen.

      Stellen Sie sicher, dass die Oracle-Instanz so konfiguriert wird, dass Easy Connect zulässig ist. Wenn der Oracle-Client vollständig installiert ist, Sie jedoch die Easy Connect-Syntax zum Herstellen der Verbindung verwenden möchten, müssen Sie sicherstellen, dass die Datei sqlnet.ora auf dem Client so konfiguriert ist, dass die Verwendung von Easy Connect zulässig ist, und dass der Oracle-Server so konfiguriert ist, dass die Easy Connect-Syntax zulässig ist.

    • TNS: Wählen Sie diese Option, wenn Sie den Oracle-Client zum Verwenden von TNS-Verbindungen auf jedem ArcGIS-Client-Computer konfiguriert haben.

      Geben Sie im Feld Net Service Name den Namen des Net Service an, den Sie in der tnsnames.ora-Datei definiert haben.

      Im folgenden Beispiel ist der Net Service Name in der tnsnames.ora-Datei als "myoratnsname" definiert.

      Verbindung mit Oracle unter Verwendung des Net Service Name "myoratnsname" herstellen

  5. Wenn Sie den Standard-Verbindungstyp verwenden, geben Sie die folgenden Informationen an:
    1. Wenn die Oracle-Instanz nicht die Standard-Oracle-Portnummer überwacht, geben Sie die Nicht-Standard-Portnummer in das Feld Port ein.
    2. Geben Sie eine der folgenden Optionen im Textfeld Hostname ein:

      • den Namen des Oracle-Servers, zum Beispiel myserver
      • die IP-Adresse des Oracle-Servers, zum Beispiel 10:10:10:10 Setzen Sie IPv6-Adressen in Klammern, z. B. [4000:ab5:0:0:f666:d191:77f5:e2bd].
      • eine URL, die den Oracle-Servernamen enthält, z. B. //myserver

    3. Geben Sie den Oracle-Servicenamen oder die ID im Feld Datenbank ein.

    Im folgenden Beispiel ist der Oracle-Servername "myserver", der Oracle-Servicename ist "myoracledb", und die Kommunikation findet über den Port 60000 statt.

    Verbindung zu einer Oracle-Datenbank unter Verwendung von Easy Connect-Informationen für einen Server mit dem Namen "myserver" und dem Servicenamen "myoracledb" über einen Nicht-Standard-Port 60000

  6. Wählen Sie den Authentifizierungstyp, der für die Herstellung einer Verbindung mit der Datenbank verwendet werden soll: Datenbankauthentifizierung oder Betriebssystemauthentifizierung.
    • Wenn Sie Betriebssystemauthentifizierung wählen, müssen Sie keinen Benutzernamen und kein Kennwort eingeben. Die Verbindung wird anhand des Anmeldenamens und des Kennwortes hergestellt, die zur Anmeldung beim Betriebssystem verwendet wurden. Falls es sich bei den Anmeldedaten für das Betriebssystem nicht um eine gültige Datenbankanmeldung handelt, kann keine Verbindung hergestellt werden. Die Betriebssystemauthentifizierung kann nicht in Kombination mit dem Oracle Instant Client verwendet werden.
      Hinweis:

      Wenn Sie die Betriebssystemauthentifizierung in Oracle verwenden, ist das Betriebssystem mit der Zeichenfolge "os_authent_prefix" (standardmäßig OPS$) als Präfix versehen und wird in der Tabelle "USERNAME" gespeichert. Beim Herstellen einer Verbindung mit der Geodatabase darf der Benutzername maximal 30 Zeichen umfassen. In diesen bestimmten Fällen gibt ArcGIS den Benutzernamen in Anführungszeichen an und übergibt ihn an die Datenbank. Diese Anführungszeichen werden bei den 30 Zeichen mitgezählt.

    • Wenn Sie Datenbankauthentifizierung auswählen, müssen Sie in den Textfeldern Benutzername und Kennwort einen gültigen Datenbankbenutzernamen und ein Kennwort angeben. Benutzernamen dürfen maximal 30 Zeichen lang sein.

      Deaktivieren Sie die Option Benutzername und Kennwort speichern, wenn Sie die Anmeldeinformationen nicht als Teil der Verbindung speichern möchten. Dies erhöht die Sicherheit der Datenbank. Allerdings werden Sie in diesem Fall bei jedem Verbindungsaufbau zur Eingabe eines Benutzernamens und eines Kennwortes aufgefordert.

    Hinweis:

    Die Option Benutzername und Kennwort speichern muss für Verbindungsdateien aktiviert sein, die die Datenbankauthentifizierung verwenden und ArcGIS-Web-Services den Zugriff auf die Datenbank gewähren. Dies gilt auch, wenn Sie in ArcGIS Pro nach Daten suchen möchten, auf die über diese Verbindungsdatei zugegriffen wird.

  7. Geben Sie einen Namen für die Verbindungsdatei in das Feld Name der Verbindungsdatei ein.

    Während Sie die Verbindungsinformationen eingeben, wird ein Standardname erstellt. Sie können den Standardnamen verwenden oder einen aussagekräftigeren Dateinamen eingeben.

    Dies ist der Name, der im Bereich Katalog und in der Ansicht "Katalog" angezeigt wird, sowie der Name der auf der Festplatte gespeicherten .sde-Datei.

  8. Klicken Sie auf Überprüfen, um zu bestätigen, dass die Verbindungsinformationen gültig sind und auf die Datenbank zugegriffen werden kann.

    Wenn die Datenbank eine Geodatabase enthält und die Verbindung gültig ist, ist die Registerkarte Geodatabase-Eigenschaften nun aktiv. Bei Bedarf können Sie die Eigenschaften der Geodatabase-Verbindung ändern, um eine Verbindung zu einer traditionellen Version und nicht zur Default-Version herzustellen, die Verbindung als Verbindung zu einer Verzweigungsversion zu konfigurieren oder eine Verbindung zu einem historischen Zeitpunkt herzustellen.

  9. Klicken Sie auf OK, um die Verbindungsdatei zu erstellen.

Unter Datenbanken im Bereich Katalog wird eine Datenbankverbindung angezeigt, und im Verzeichnis des .sde-Projekts wird eine Verbindungsdatei (ArcGIS Pro) erstellt.

Herstellen einer Verbindung von ArcGIS Server

Legen Sie nach der Installation eines 64-Bit-Clients für Oracle auf allen Computer in der ArcGIS Server-Site Variablen fest, erstellen Sie eine Datenbankverbindungsdatei, gewähren Sie Berechtigungen, und registrieren Sie die Datenbank bei der ArcGIS Server-Site.

Festlegen Sie die PATH-Umgebungsvariable (nur Windows)

Legen Sie für die PATH-Umgebungsvariable auf jedem ArcGIS Server Windows-Server den Speicherort der Oracle-Client-Installation fest. Die Anweisungen zum Festlegen der PATH-Umgebungsvariable finden Sie in der Microsoft Windows-Dokumentation.

Wenn ArcGIS Server bereits ausgeführt wurde, bevor Sie den Oracle-Client konfiguriert und die PATH-Variable festgelegt haben, müssen Sie ArcGIS Server neu starten. Der Neustart von ArcGIS Server ist über die Windows-Dienste-Oberfläche möglich.

Festlegen der Umgebungsvariablen LD_LIBRARY_PATH (nur Linux und Oracle Administrator-, Developer- oder Runtime-Cient)

Wenn Sie den Oracle Administrator-, Developer- oder Runtime-Client installiert haben, legen Sie die Systemvariable LD_LIBRARY_PATH auf das Startverzeichnis des Oracle-Clients fest.

Wenn Sie den Oracle Instant-Client installiert haben, legen Sie die Variable LD_LIBRARY_PATH im init_user_param.sh-Skript fest.

Ändern des Skripts "init_user_param.sh" (nur Linux)

Nach der Installation der Datenbank-Clientdateien ändern Sie das Skript init_user_param.sh, das mit ArcGIS Server installiert wird, um auf die Clientdateien zu verweisen. Sie können auf dieses Skript zugreifen, indem Sie zum Verzeichnis <ArcGIS Server installation directory>/arcgis/server/usr navigieren.

Sie müssen das Skript init_user_param.sh auf allen Computern der ArcGIS Server-Site aktualisieren.

Hinweis:

Wenn Ihr Benutzerprofil auf den Oracle-Client verweist, sich die Client-Informationen zwischen dem Benutzerprofil und init_user_param.sh jedoch unterscheiden, kann es zu Verbindungsproblemen zwischen ArcGIS Server und der Datenbank kommen. Um Verbindungsproblemen entgegenzuwirken, entfernen Sie die Referenzinformationen aus dem Benutzerprofil, und referenzieren Sie die Datenbank-Clientbibliotheken erneut, indem Sie die folgenden Schritte ausführen:

  1. Stellen Sie sicher, dass der Besitzer der ArcGIS Server-Installation auf jedem Computer zumindest über Lese- und Ausführungsberechtigungen für die Datenbank-Clientbibliotheken verfügt.
  2. Öffnen Sie das Skript init_user_param.sh in einem Texteditor.
  3. Entfernen Sie die Kommentarzeichen (#) aus den Zeilen, die mit export beginnen.

    Wenn Sie den Oracle Administrator-, Developer- oder Runtime-Client installiert haben, entfernen Sie die Kommentarzeichen aus allen Oracle-Zeilen, die mit export beginnen.

    #
    # For connection with Oracle Runtime or Administrator Client
    #
    export ORACLE_BASE=<Oracle_Installdir>/app
    export ORACLE_HOME=$ORACLE_BASE/<Oracle_release>/product/<Oracle_version>/<client_version>
    export ORACLE_SID=<set when applicable>
    export TNS_ADMIN=<set when applicable. e.g.$ORACLE_HOME/network/admin>
    export PATH=$ORACLE_HOME/bin:$PATH
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH

    Wenn Sie die Oracle Database Instant Client-Bibliotheken verwenden, müssen Sie nur die Auskommentierung aufheben und $LD_LIBRARY_PATH festlegen. Beispiel:

    #
    # For connection with Oracle Instant Client
    #
    export LD_LIBRARY_PATH=<Location_to_instantclient_11_2>:$LD_LIBRARY_PATH

  4. Legen Sie Werte für die Exportvariablen fest.
    • Heben Sie bei Oracle Administrator-, Developer- oder Runtime-Clients die Auskommentierung auf, und legen Sie mithilfe der Informationen zu Ihrer Implementierung die folgenden Variablen fest:
      • ORACLE_BASE=<Oracle_Installdir>

        <Oracle_Installdir> ist der Pfad zum Verzeichnis der obersten Ebene, in dem der Oracle-Client installiert ist, sowie dessen Name.

      • ORACLE_HOME=$ORACLE_BASE/<Oracle_Release>/product/<Oracle_Version>/client_1

        Dies ist der Pfad zu den Oracle-Clientbibliotheksdateien. Legen Sie für ORACLE_HOME das Verzeichnis fest, in dem diese sich befinden. Standardmäßig lautet der Verzeichnisname "client_1", Ihre Installation kann jedoch einen anderen Verzeichnisnamen haben.

      • Wenn Sie eine Oracle-System-ID (SID) für die Verbindung verwenden, legen Sie für ORACLE_SID= die Oracle-System-ID Ihrer Datenbank fest. Wird die Verbindung mithilfe einer Easy Connect-Zeichenfolge hergestellt, kommentieren Sie diese Zeile aus.
      • Legen Sie für TNS_ADMIN= den Speicherort der TNS-Administrationsdateien des Oracle-Clients fest. Wird die Verbindung mithilfe einer Easy Connect-Zeichenfolge hergestellt, müssen Sie diesen Wert nicht festlegen. Kommentieren Sie diese Zeile stattdessen aus.
    • Heben Sie bei Oracle Instant Clients die Auskommentierung auf, und legen Sie lediglich die LD_LIBRARY_PATH-Variable fest. Ersetzen Sie hierzu <Location_to_instantclient> durch den Pfad zum Verzeichnis sowie den Namen des Verzeichnisses, in dem sich die Oracle Instant Client-Dateien befinden.
    • Wenn ArcGIS Server und Oracle auf demselben Server installiert sind, heben Sie die Auskommentierung auf, und legen Sie die folgenden Variablen fest:
      • ORACLE_BASE=<Oracle_Installdir>

        <Oracle_Installdir> ist der Pfad zum Verzeichnis der obersten Ebene, in dem Oracle installiert ist, sowie dessen Name.

      • ORACLE_HOME=$ORACLE_BASE/<Oracle_Release>/product/<Oracle_Version>/client_1

        Dies ist der Pfad zu den Oracle-Bibliotheksdateien. Legen Sie für ORACLE_HOME das Verzeichnis fest, in dem diese sich befinden. Standardmäßig lautet der Verzeichnisname "db_<n>", Ihre Installation kann jedoch einen anderen Verzeichnisnamen haben.

      • Wenn Sie eine Oracle-System-ID (SID) für die Verbindung verwenden, legen Sie für ORACLE_SID= die Oracle-System-ID Ihrer Datenbank fest. Wird die Verbindung mithilfe einer Easy Connect-Zeichenfolge hergestellt, kommentieren Sie diese Zeile aus.
      • Legen Sie für TNS_ADMIN= den Speicherort der TNS-Administrationsdateien des Oracle-Clients fest. Wird die Verbindung mithilfe einer Easy Connect-Zeichenfolge hergestellt, müssen Sie diesen Wert nicht festlegen. Kommentieren Sie diese Zeile stattdessen aus.
  5. Speichern und schließen Sie das Skript.
  6. Damit Ihre Änderungen an der Datei init_user_param.sh wirksam werden, müssen Sie ArcGIS Server neu starten.

    Führen Sie dazu das Skript stopserver.sh und dann das Skript startserver.sh auf jedem Computer der ArcGIS Server-Site aus.

    ./stopserver.sh

    ./startserver.sh

Erstellen einer Datenbankverbindungsdatei

Erstellen Sie wie oben beschrieben über das Dialogfeld Datenbankverbindung in ArcGIS Pro eine Datenbankverbindungsdatei.

Alternativ können Sie auch das Werkzeug Datenbankverbindung erstellen in ArcGIS Pro ausführen oder mithilfe von Python den Befehl Datenbankverbindung erstellen auf einem ArcGIS Server-Computer ausführen und eine Datenbankverbindungsdatei (.sde) erstellen, die eine Verbindung zu der Datenbank herstellt.

Die folgenden Informationen beziehen sich auf die Erstellung einer Datenbankverbindungsdatei zur Verwendung mit ArcGIS Server:

  • Speichern Sie die Benutzerinformationen mit der Verbindungsdatei.
  • Wenn Sie stattdessen die Betriebssystemauthentifizierung verwenden, müssen Sie ein Domänenkonto für das ArcGIS Server-Konto verwenden und dieses zur Oracle-Datenbank hinzufügen.
  • Wenn Sie eine TNS-Verbindung verwenden, stellen Sie sicher, dass Sie denselben Net Service Name in der tnsnames.ora-Datei auf allen Computern in der ArcGIS Server-Site verwenden sowie in den ArcGIS Pro-Clients, aus denen Sie veröffentlichen.

Gewähren von Berechtigungen

Dem Datenbankbenutzer, der Datenbankrolle bzw. dem ArcGIS Server-Konto (bei Verwendung der Betriebssystemauthentifizierung), die Sie zum Herstellen einer Datenbankverbindung verwenden, müssen Berechtigungen in der Datenbank erteilt werden, um auf die zu veröffentlichenden Daten zugreifen zu können. Die Berechtigungen und die Umstände, unter denen Sie den Benutzern diese Berechtigungen erteilen müssen, lauten wie folgt:

BerechtigungGrund

CREATE SESSION

Ist erforderlich, um eine Verbindung mit der Datenbank herzustellen.

CREATE TABLE

Auswahlsätze verursachen die Erstellung einer Protokolldateitabelle in der Geodatabase. Wenn ein Benutzer nicht über diese Berechtigung verfügt, werden im Schema des SDE-Benutzers Protokolldateitabellen erstellt.

SELECT-Berechtigungen für zu veröffentlichende Datasets

Erteilen Sie dem Benutzer oder dem ArcGIS-Konto mindestens SELECT-Berechtigungen für die Datasets, die veröffentlicht werden sollen.

INSERT-, UPDATE- oder DELETE-Berechtigungen für Daten, die in editierbaren Feature-Services veröffentlicht werden

Um Daten über einen Feature-Service zu bearbeiten, müssen die erforderlichen Berechtigungen für die Bearbeitung von Datasets gewährt werden.

Die ersten beiden oben aufgeführten Berechtigungen müssen vom Datenbankadministrator gewährt werden. Wenn die Daten sich in einer Geodatabase befinden, muss der Datenbesitzer die erforderlichen Berechtigungen für die Datasets gewähren. Befinden sie sich in einer Datenbank, kann der Datenbesitzer Berechtigungen für Datasets aus ArcGIS erteilen, oder der Datenbankadministrator kann die erforderlichen Berechtigungen mithilfe von Datenbankwerkzeugen gewähren.

Weitere Informationen finden Sie unter Berechtigungen für Geodatabases in Oracle oder Berechtigungen zum Verwenden von ArcGIS mit einer Oracle-Datenbank.

Registrieren der Datenbank

Damit ArcGIS Server-Sites auf die Daten zugreifen können, müssen Sie mithilfe der erstellten Datenbankverbindungsdatei einen registrierten Data Store in ArcGIS Pro hinzufügen oder ein Data-Store-Element im Portal hinzufügen.