Aktualisieren einer Geodatabase in Oracle

Mit der Standard- oder Advanced-Lizenz verfügbar.

Ziel der Aktualisierung einer Enterprise-Geodatabase ist die Aktualisierung der Geodatabase-Systemtabellen, gespeicherter Prozeduren, Typen und Funktionen, um die neuen Funktionen und Korrekturen nutzen zu können. Möglicherweise müssen Sie auch die Datenbank aktualisieren, wenn die von Ihnen verwendete Version nicht mehr für Ihre ArcGIS-Clients unterstützt wird.

Installieren Sie eine neue Version von ArcGIS AllSource oder ArcGIS Server oder wenden Sie ein Service Pack, ein Patch oder einen Hotfix auf eine vorhandene Installation an, und aktualisieren Sie die Geodatabase.

Hinweis:

Selbst wenn Sie die Geodatabase nicht aktualisieren, wird die von Ihnen verwendete Datenbankversion möglicherweise nicht mehr mit der aktuellen Version der ArcGIS-Software unterstützt. Wenn die Datenbankversion nicht mehr unterstützt wird, müssen Sie möglicherweise ein Upgrade der Geodatabase durchführen. Je größer der Abstand zwischen den Upgrades ist, desto aufwendiger wird der Upgrade-Vorgang.

Wenn Sie ein Upgrade für die Geodatabase mit ArcGIS AllSource 3.5 durchführen, lautet die Geodatabase-Version nach dem Upgrade 11.5.0.x.

Führen Sie die unten stehenden Schritte durch, die vor der Aktualisierung erforderlich sind, und aktualisieren Sie dann die Geodatabase mit dem Geoverarbeitungswerkzeug Geodatabase aktualisieren oder einem Python-Skript.

Bevor Sie die Aktualisierung ausführen

Es empfiehlt sich, vor der Aktualisierung eines Enterprise-Systems, einschließlich einer Geodatabase, vorauszuplanen. Testen Sie die neue Version auf einem Entwicklungs- oder Testserver, um sicherzustellen, dass sie mit allen Client-Anwendungen funktioniert.

Wenn Sie feststellen, dass das neue System wie erwartet läuft, planen Sie die Aktualisierung. Stellen Sie sicher, dass die für die Aktualisierung erforderlichen Mitarbeiter verfügbar sind und dass diese für die ihnen zugewiesenen Aufgaben über die erforderlichen Berechtigungen verfügen.

Folgende Punkte sind zu beachten:

  • Upgrades von Benutzerschema-Geodatabases werden nicht mehr unterstützt. Derzeit ist es möglich, die SDE-Geodatabase zu aktualisieren, nicht jedoch die Benutzerschema-Geodatabases. Sie können weiterhin eine Verbindung zu den Benutzerschema-Geodatabases herstellen, für diese jedoch keine Upgrades durchführen.
  • Upgrades von Beta- oder Pre-Release-Versionen der Software werden nicht unterstützt.
  • Von einer Geodatabase der Versionen 10.8.1, 10.9.x oder 11.x können Sie direkt eine Aktualisierung durchführen, sofern Ihr Datenbank-Release für die ArcGIS-Version, auf die Sie ein Upgrade durchführen möchten, unterstützt wird.

    Um eine Aktualisierung von einer früheren Version der Geodatabase durchzuführen, müssen Sie zuerst eine Aktualisierung der Geodatabase auf Version 10.8.1, 10.9.x oder 11.0 durchführen. Befolgen Sie die Anweisungen für diese Versionsaktualisierung, bevor Sie eine Aktualisierung auf die aktuelle Geodatabase-Version durchführen.

    Wenn die Version der Oracle-Datenbank für die aktuelle Geodatabase-Version nicht unterstützt wird, müssen Sie die Datenbank und die Geodatabase ggf. mehrmals aktualisieren, bevor Sie die Geodatabase auf die aktuelle Version aktualisieren können.

    Wenn Sie beispielsweise eine 10.7.1.x-Geodatabase in Oracle 11.2.0.4 verwenden, aktualisieren Sie die Datenbank auf eine neuere Version, die für ArcGIS 10.7.1 unterstützt wird, wie zum Beispiel Oracle 12.1.02.

    Als Nächstes aktualisieren Sie die Geodatabase auf eine Version, die Oracle 12.1.02 und eine Oracle-Version unterstützt, die ebenfalls mit der aktuellen ArcGIS-Version unterstützt wird. Sie können beispielsweise auf die Geodatabase-Version 10.9.1 aktualisieren. Anschließend aktualisieren Sie Oracle auf eine Version, die für die aktuelle ArcGIS-Version unterstützt wird. Nun können Sie die Geodatabase auf die aktuelle ArcGIS-Version aktualisieren.

    Folgen Sie bei jedem Geodatabase-Upgrade auf eine Zwischenversion den Aktualisierungsanweisungen für die Geodatabase-Version, und testen Sie die Geodatabase beim Wechsel von einer Version zur nächsten. Folgen Sie auch für jede Datenbankversion den Aktualisierungsanweisungen des Datenbankanbieters, und testen Sie die Datenbank beim Wechsel von einer Version zur nächsten.

  • In einer Oracle 12c-Datenbank können Sie keine Aktualisierung einer Geodatabase durchführen. Führen Sie zuerst ein Upgrade auf eine unterstützte Oracle-Version durch. Danach können Sie eine Aktualisierung der Geodatabase durchführen.
  • Es gibt kein offizielles Verfahren für das Herunterstufen einer Geodatabase auf eine frühere Version. Wenn Sie die Geodatabase nach der Aktualisierung auf eine neuere Version herunterstufen möchten, können Sie die Datenbank aus einer Sicherungsdatei, die die ältere Geodatabase-Version enthält, wiederherstellen.
  • Stellen Sie sicher, dass der Oracle-Parameter "OPEN_CURSORS" auf einen hohen Wert, z. B. 2000, festgelegt ist und dass die Einstellung mit der Geodatabase synchronisiert wird.
  • Sobald Sie die Geodatabase auf die aktuelle Version aktualisieren, verwendet die Geodatabase nur globale temporäre Tabellen für Protokolldateitabellen.

Nachfolgend finden Sie eine Checkliste der Schritte, die vor der Aktualisierung der Geodatabase ausgeführt werden müssen:

  1. Weitere Informationen dazu, ob die Kombination der Versionen von Oracle und ArcGIS, die Sie verwenden möchten, von Esri unterstützt wird, finden Sie unter ArcGIS-Anforderungen für Oracle.
  2. Lesen Sie den Artikel Client- und Geodatabase-Kompatibilität, um die Auswirkungen der Verwendung gemischter Versionen von ArcGIS-Clients zu verstehen und um festzustellen, ob bestimmte Datasets separat aktualisiert werden müssen.
  3. Überprüfen Sie, ob die Geodatabase aktualisiert werden kann.

    Installieren Sie dazu die gewünschte ArcGIS-Clientversion auf einem Computer. Wenn Sie ArcGIS AllSource installieren, können Sie eine Verbindung zur Geodatabase herstellen und das Dialogfeld Datenbankeigenschaften öffnen, um zu ermitteln, ob die Geodatabase aktualisiert werden kann. Wenn Sie ArcGIS Server (Enterprise Edition) installieren, können Sie mithilfe der ArcPy-Funktion Describe ermitteln, ob die Geodatabase aktualisiert werden kann.

    # Open Python.
    cd /arcgis/server/tools
    ./python
    
    # Import ArcPy.
    import arcpy
    
    # Create a connection to the geodatabase.
    arcpy.CreateDatabaseConnection_management("/tmp/",
                                              "egdb_connection.sde",
                                              "ORACLE",
                                              "myogdb",
                                              "DATABASE_AUTH",
                                              "sde",
                                              "mysdepassword",
                                              "SAVE_USERNAME",
                                              "myconnection")
    
    # Check the geodatabase release.
    isCurrent = arcpy.Describe('/tmp/egdb_connection.sde').currentRelease
    
    print(isCurrent)

    Wenn false zurückgegeben wird, können Sie die Geodatabase aktualisieren. Wenn true zurückgegeben wird, muss keine Aktualisierung der Geodatabase durchgeführt werden. Fahren Sie nicht mit den nachfolgenden Schritten fort.

  4. Stellen Sie sicher, dass die Oracle-Textkomponente installiert ist.

    Die Textkomponente wird in Oracle standardmäßig installiert. Wenn Sie keine Standardinstallation ausgeführt haben, wurde die Textkomponente möglicherweise nicht installiert.

    Um zu überprüfen, ob sie installiert wurde, führen Sie die folgende SQL-Anweisung aus, während Sie als SYSTEM oder als Benutzer mit DBA-Berechtigungen bei der Datenbank angemeldet sind:

    SELECT owner, object_name
    FROM all_objects
    WHERE object_type = 'PACKAGE'
      AND object_name = 'CTX_DDL';
    Wenn kein Datensatz zurückgegeben wird, ist die Textkomponente nicht installiert. Führen Sie die Oracle-Installation aus, um die Textkomponente zu installieren.

  5. Erstellen Sie eine Sicherungskopie der Datenbank.
  6. Entfernen Sie alle benutzerdefinierten Funktionen, die Sie den Geodatabase-Systemtabellen außerhalb von ArcGIS unter Umständen hinzugefügt haben, z. B. Trigger oder zusätzliche Indizes.

    Bei der Aktualisierung werden keine Anpassungen unterstützt, die Sie an den Systemtabellen vornehmen. Wenn diese Anpassungen die Änderung des Schemas einer Systemtabelle verhindern, schlägt die Aktualisierung fehl.

  7. Gewähren Sie dem Geodatabase-Administrator die zum Aktualisieren einer Geodatabase erforderlichen Berechtigungen.

    Eine Liste der erforderlichen Berechtigungen finden Sie unter Berechtigungen für Geodatabases in Oracle.

  8. Wenn Sie direkt auf Daten in SQL zugreifen, müssen Sie die vorhandene Bibliothek "st_shapelib" auf dem Oracle-Server durch die neue Version der Bibliothek ersetzen.

    Laden Sie die neue Datei "st_shapelib" von My Esri herunter.

    Stellen Sie sicher, dass die Bibliothek dem Betriebssystem des Oracle-Servers entsprechend verwendet wird.

    Wenn Sie die Bibliothek nicht in das gleiche Verzeichnis des Oracle-Servers platzieren, in dem sie vorher abgelegt war, müssen Sie extproc so neu konfigurieren, dass es auf den neuen Bibliotheksspeicherort zeigt, und den Oracle-Listener neu starten. Weitere Informationen finden Sie unter Konfigurieren von "extproc" für den Zugriff auf "ST_Geometry" in Oracle.

  9. Stellen sie sicher, dass gerade keine Benutzer mit der Geodatabase verbunden sind, die gerade aktualisiert wird. Wenn die Geodatabase Benutzerschema-Geodatenbanken enthält, stellen Sie zudem sicher, dass kein Benutzer mit einer Benutzerschema-Geodatabase verbunden ist.

    Um eine Liste der Benutzer anzuzeigen, die aktuell mit Ihrer Geodatabase verbunden sind, öffnen Sie das Dialogfeld Geodatabase-Verwaltung in ArcGIS AllSource.

Sie können die Geodatabase jetzt aktualisieren.

Aktualisieren der Geodatabase

Zum Aktualisieren Ihrer Geodatabase können Sie das Werkzeug Geodatabase aktualisieren in ArcGIS AllSource oder ein Python-Skript verwenden, das auf einem ArcGIS AllSource- oder ArcGIS Server-Computer ausgeführt wird.

Hinweis:

Sie müssen die aktuelle Verbindungssyntax verwenden, wenn Sie eine Verbindung zu der Geodatabase herstellen, um sie zu aktualisieren. Die Aktualisierung schlägt fehl, wenn Sie die ältere Verbindungssyntax verwenden. Weitere Informationen zur Verbindungssyntax finden Sie unter Herstellen einer Verbindung mit Oracle von ArcGIS.

Wenn die Geodatabase nach Verzweigung versionierte Daten enthält, sind nach dem Upgrade möglicherweise einige zusätzliche Schritte erforderlich. Anweisungen finden Sie unter Funktionsweise von "Geodatabase aktualisieren".

Verwenden des Werkzeugs "Geodatabase aktualisieren"

Öffnen Sie das Geoverarbeitungswerkzeug Geodatabase aktualisieren über eines der folgenden Elemente der Bedienoberfläche:

  • das Toolset "Geodatabase-Verwaltung" in der Toolbox "Data Management"
  • die Schaltfläche Upgrade ausführen auf der Registerkarte Allgemein des Dialogfeldes Eigenschaften: Datenbank in ArcGIS AllSource

Wenn Sie das Werkzeug über das Dialogfeld Datenbankeigenschaften öffnen, werden die Geodatabase-Verbindungsinformationen in das Textfeld Eingabe-Geodatabase eingetragen.

Esri empfiehlt, die Optionen Überprüfung von Voraussetzungen durchführen und Geodatabase aktualisieren aktiviert zu lassen. Auf diese Weise überprüft das Werkzeug, ob die Voraussetzungen zum Aktualisieren erfüllt sind, bevor die Geodatabase-Aktualisierung fortgesetzt wird.

Die Voraussetzungsprüfung erkennt andere aktive Verbindungen zur Geodatabase und bestimmt, ob der die Verbindung herstellende Benutzer über ausreichende Berechtigungen zum Aktualisieren der Geodatabase verfügt. Außerdem wird sichergestellt, dass die Master-Datenbank XML-Spalten unterstützt, dass alle Datasets geöffnet werden können, und es wird geprüft, dass die Datenbank und die Bibliotheken die gleiche Version aufweisen. Wenn irgendwelche Voraussetzungen nicht erfüllt werden, wird das Werkzeug beendet. Alle Probleme müssen behoben werden, bevor Sie den Aktualisierungsvorgang erneut ausführen.

Die Ergebnisse dieser Überprüfung werden im Dialogfeld des Geoverarbeitungswerkzeugs erfasst. Wenn die Überprüfung nicht durchgeführt werden kann, werden die Ergebnisse auch in die Datei GDBUpgrade.log geschrieben, die sich im Verzeichnis c:\Users\<user name>\AppData\Local\ESRI\<ArcGIS product> befindet.

Wenn alle Prüfungen bestanden wurden, fährt das Werkzeug mit der Aktualisierung fort. Der Status für die Voraussetzungsprüfung und die Aktualisierung wird im Dialogfeld des Geoverarbeitungswerkzeugs angezeigt. Falls die Aktualisierung fehlschlägt, werden die Informationen in die Datei GDBUpgrade.log geschrieben. Weitere Informationen werden in die Datei sde_setup.log im Verzeichnis TEMP Ihres Benutzers geschrieben. Wenn für Ihren Benutzer kein konfiguriertes temporäres Verzeichnis vorhanden ist, wird das Verzeichnis TEMP des Systems verwendet.

Ausführen eines Skripts

Um die Geodatabase mithilfe eines Python-Skripts zu aktualisieren, kopieren Sie eines der folgenden Beispielskripte, fügen Sie es in einen Texteditor ein und ändern es so, dass es die für Ihren Standort spezifischen Informationen verwendet. Speichern und schließen Sie die Datei, und führen Sie sie aus.

Tipp:

Weitere Informationen zum Ausführen von Python auf einem ArcGIS Server-Computer finden Sie unter ArcGIS Server und ArcPy.

Die Beispiele gehen davon aus, dass Sie über eine vorhandene Datenbankverbindungsdatei (.sde) verfügen, über die eine Verbindung unter Verwendung des sde-Benutzers hergestellt wird. Falls dies nicht der Fall ist, erstellen Sie eine, bevor Sie das Upgrade durchführen.

# Name: upgradesdegdb_example.py
# Description: Uses existing database connection file
# on a Windows computer to run prerequisite check
# and upgrade an enterprise geodatabase.

# Import arcpy module
import arcpy
 
# Local variables:
Output_Workspace = "C:\\ArcGIS\connection_files\<Connection file>"
Default_gdb = "C:\\ArcGIS\connection_files\<Connection file>"

# Process: Upgrade Geodatabase
arcpy.UpgradeGDB_management(Default_gdb, "PREREQUISITE_CHECK", "UPGRADE")
# Name: upgradesdegdb_example.py
# Description: Uses existing database connection file
# on a Linux computer to run prerequisite check
# and upgrade an enterprise geodatabase.

# Import arcpy module
import arcpy
 
# Local variables:
Output_Workspace = "<user>/connections/<Connection_file>"
Default_gdb = "<user>/connections/<Connection_file>"

# Process: Upgrade Geodatabase
arcpy.UpgradeGDB_management(Default_gdb, "PREREQUISITE_CHECK", "UPGRADE")