Herstellen einer Verbindung mit Oracle von ArcGIS
Um ArcGIS Server-Web-Services zu veröffentlichen, die die Daten in einer Oracle-Datenbank referenzieren, führen Sie die folgenden Schritte aus:
Installieren Sie einen Oracle-Client auf den ArcGIS Server-Computern.
Legen Sie Umgebungsvariablen fest, die den Oracle-Client referenzieren.
Legen Sie Umgebungsvariablen fest, die den Oracle-Client referenzieren.
Gewähren Sie dem Anmeldenamen in der Verbindungsdatei Berechtigungen.
Registrieren Sie die Datenbankverbindungsdatei bei den ArcGIS Server-Sites.
Installieren der Oracle-Client-Software
Oracle-Client-Software muss auf allen Computern der ArcGIS Server-Site installiert sein, auf der Sie veröffentlichen. 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üssen.
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:
|
Installationskombinationen |
Zu verwendende Konfiguration |
|---|---|
|
ArcGIS Server (Site mit einem Computer) und Oracle werden auf demselben Server installiert, ArcGIS Pro wird auf anderen Computern installiert. |
Installieren Sie einen 64-Bit-Oracle-Client auf allen ArcGIS Pro-Computern, und legen Sie die PATH-Variable auf das Startverzeichnis des Oracle-Clients fest. 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 legen Sie die PATH-Variable auf das Startverzeichnis des Oracle-Clients fest. Installieren Sie den 64-Bit-Oracle-Client 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 festgelegt 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 installiert; 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 die Systemvariable "PATH" auf das Startverzeichnis des Oracle-Clients fest. |
|
ArcGIS Server, ArcGIS Pro und Oracle werden auf einem Computer installiert. |
ArcGIS Pro und ArcGIS Server verwenden die mit dem Oracle-Datenbankmanagementsystem installierten 64-Bit-Client-Dateien, um die Verbindung herzustellen. Legen Sie die Variable "PATH" auf das Startverzeichnis des Oracle-Clients fest. Wenn die ArcGIS Server-Site zusätzliche Server umfasst, installieren Sie den 64-Bit-Oracle-Client auf jedem Server der Site, und legen Sie die PATH-Variable auf das Startverzeichnis des Oracle-Clients fest. |
Festlegen der Umgebungsvariablen LD_LIBRARY_PATH (nur 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 Skript init_user_param.sh fest.
Ändern des Skripts "init_user_param.sh"
Nach der Installation der Datenbank-Client-Dateien ändern Sie das Skript init_user_param.sh, das mit ArcGIS Server installiert wird, sodass es die Client-Dateien referenziert. 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 den Oracle-Client referenziert, 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:
Stellen Sie sicher, dass der Besitzer der ArcGIS Server-Installation auf jedem Computer zumindest über Lese- und Ausführungsberechtigungen für die Datenbank-Client-Bibliotheken verfügt.
Öffnen Sie das Skript
init_user_param.shin einem Texteditor.Entfernen Sie die Kommentarzeichen (
#) aus den Zeilen, die mitexportbeginnen.Wenn Sie den Oracle Administrator-, Developer- oder Runtime-Client installiert haben, entfernen Sie die Kommentarzeichen aus allen Oracle-Zeilen, die mit
exportbeginnen.# # 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_PATHWenn Sie die Oracle Database Instant Client-Bibliotheken verwenden, müssen Sie nur die Auskommentierung aufheben und
$LD_LIBRARY_PATHfestlegen. Beispiel:# # For connection with Oracle Instant Client # export LD_LIBRARY_PATH=<Location_to_instantclient_11_2>:$LD_LIBRARY_PATHLegen 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_1Dies ist der Pfad zu den Oracle-Client-Bibliotheksdateien. Legen Sie für
ORACLE_HOMEdas 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_1Dies ist der Pfad zu den Oracle-Bibliotheksdateien. Legen Sie für
ORACLE_HOMEdas Verzeichnis fest, in dem diese sich befinden. Standardmäßig lautet der Verzeichnisname "db_", 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.
Speichern und schließen Sie das Skript.
Damit Ihre Änderungen an der Datei
init_user_param.shwirksam werden, müssen Sie ArcGIS Server neu starten.Führen Sie dazu das Skript
stopserver.shund dann das Skriptstartserver.shauf jedem Computer der ArcGIS Server-Site aus../stopserver.sh./startserver.sh
Festlegen Sie die PATH-Umgebungsvariable (nur Windows)
Legen Sie für die Umgebungsvariable PATH auf jedem ArcGIS Server-Windows-Server den Speicherort der Oracle-Client-Installation fest. Die Anweisungen zum Festlegen der Umgebungsvariablen PATH finden Sie in der Microsoft Windows-Dokumentation.
Wenn ArcGIS Server bereits ausgeführt wurde, bevor Sie den Oracle-Client konfiguriert und die Variable PATH festgelegt haben, müssen Sie ArcGIS Server neu starten. Der Neustart von ArcGIS Server ist über die Windows-Bedienoberfläche Dienste möglich.
Erstellen einer Datenbankverbindung
Sie müssen über eine Datenbankverbindung (.sde-Datei) verfügen, die die Verbindung mit der Datenbank authentifiziert.
Sie können die ArcPy-Funktion CreateDatabaseConnection von einem der Computer auf der ArcGIS Server-Site aufrufen, die mit der Datenbank verbunden werden muss. Informationen zur Ausführung dieser Funktion finden Sie unter Datenbankverbindung erstellen in der ArcGIS Pro-Hilfe.
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 Datei
tnsnames.oraauf allen Computern in der ArcGIS Server-Site verwenden sowie in den ArcGIS Pro-Clients, über die 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:
|
Berechtigung |
Grund |
|---|---|
|
|
Ist erforderlich, um eine Verbindung mit der Datenbank herzustellen. |
|
|
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. |
|
|
Erteilen Sie dem Benutzer oder dem ArcGIS-Konto mindestens die Berechtigung |
|
Die Berechtigung |
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 Verbindungsdatei
Damit ArcGIS Server-Sites auf die Daten zugreifen können, müssen Sie mithilfe der erstellten Datenbankverbindungsdatei in ArcGIS Pro einen registrierten Data Store hinzufügen oder ein Data-Store-Element im Portal hinzufügen.