Aktualisieren Sie die Geodatabases, um neue Funktionalität und Verbesserungen in der Geodatabase zu nutzen. Um eine Enterprise-Geodatabase in PostgreSQL unter Amazon Web Services (AWS) zu aktualisieren, führen Sie einen der folgenden Schritte aus:
- Führen Sie ein Upgrade der ArcGIS-Software auf der vorhandenen Amazon Elastic Compute Cloud (EC2)-Instanz durch, und aktualisieren Sie die Geodatabase.
PostgreSQLAWS befindet, stellen Sie sicher, dass die PostgreSQL-Version mit der neuesten Version der ArcGIS-Software kompatibel ist. Falls dies nicht zutrifft, müssen Sie ebenfalls ein Upgrade des PostgreSQL-Datenbank-Clusters durchführen.
Wenn sich die Geodatabase bereits in Amazon Relational Database Service (RDS) for PostgreSQL befindet, erfolgt das Upgrade der PostgreSQL-Version automatisch durch Amazon. Dann müssen Sie nach dem Upgrade der ArcGIS-Software lediglich die Geodatabase aktualisieren.
- Migrieren Sie Inhalte in eine neue Geodatabase in einer relationalen Amazon-Datenbank-Service-Instanz.
Diese Methode nimmt mehr Zeit in Anspruch, ist aber alternativlos, wenn Sie ein Upgrade von einer ArcGIS 10-Instanz durchführen, weil es keine direkte Upgrade-Möglichkeit von Version 10 auf 11.2 gibt. Mit dieser Methode können Sie Ihre Daten auch aus einem vorhandenen PostgreSQL-Datenbank-Cluster oder einer vorhandenen Microsoft SQL Server-Instanz nach Amazon RDS for PostgreSQL oder Amazon Aurora (PostgreSQL-compatible edition) migrieren und dabei von den automatischen Aktualisierungen profitieren, die Amazon auf die Instanzen anwendet.
In den folgenden Abschnitten werden Methoden zum Aktualisieren der Geodatabase auf die neueste Version beschrieben.
Upgrade der ArcGIS-Software auf der vorhandenen AWS-Instanz und Aktualisieren der Geodatabase
Sie können ein Upgrade von ArcGIS Server auf der vorhandenen EC2-Instanz durchführen, die Geodatabase in PostgreSQL aktualisieren und die vorhandenen Daten und Services weiterverwenden. Beachten Sie jedoch, dass dies bedeutet, dass die Version des Betriebssystems und der anderen Software beibehalten wird, die sie jeweils zum Zeitpunkt der Erstellung aufwiesen. Wenn Sie die Instanz beispielsweise über ArcGIS Server 10.2.2 für ein Amazon Machine Image erstellt haben, verwenden Sie weiterhin eine PostgreSQL 9.2.4-Datenbank unter dem Betriebssystem Ubuntu 12.04. Abhängig von der Zielversion des Upgrades von ArcGIS Server sind diese Versionen von PostgreSQL und des Betriebssystems möglicherweise nicht mit der Version von ArcGIS Server kompatibel, für die ein Upgrade durchgeführt wurde.
Wenn die auf Ihrer Instanz vorhandene PostgreSQL-Version nicht mit der neuen Version von ArcGIS Server kompatibel ist, müssen Sie für PostgreSQL ebenfalls ein Upgrade auf eine unterstützte Version durchführen. Wenn Sie beispielsweise eine ArcGIS 10.8-Instanz gestartet haben und auf dieser Instanz ein Upgrade auf ArcGIS Server 11.2 durchführen möchten, müssen Sie für PostgreSQL ebenfalls ein Upgrade auf eine unterstützte Version durchführen. Informationen zum Durchführen eines Upgrades von PostgreSQL finden Sie in der PostgreSQL-Dokumentation.
Wenn die neue Version von PostgreSQL oder ArcGIS Server die Betriebssystemversion nicht unterstützt, müssen Sie auch ein Upgrade der Betriebssystemversion durchführen oder die Daten in eine neue Instanz verschieben und die Services erneut veröffentlichen.
Die Vorgehensweise beim Durchführen eines Upgrades von ArcGIS Server unter AWS hängt davon ab, wie Sie die ArcGIS Server-Site erstellt haben. Informationen zum Durchführen eines Upgrades für ArcGIS Server unter AWS finden Sie unter ArcGIS-Upgrades unter Amazon Web Services. Befolgen Sie nach dem Upgrade von ArcGIS Server die Anweisungen zum Aktualisieren der Geodatabase unter Amazon RDS for PostgreSQL.
Wenn Sie die ArcGIS Server-Site und die Geodatabases mit ArcGIS Server Cloud Builder on Amazon Web Services 10.6.1 oder einer älteren Version erstellt haben, befolgen Sie die Anweisungen für den entsprechenden PostgreSQL-Speicherort: Es handelt es sich entweder um die SITEHOST-Instanz oder die EGDBHOST-Instanz.
Aktualisieren von Geodatabases unter Amazon RDS for PostgreSQL
Nachdem Sie das Upgrade der ArcGIS Server-Site unter AWS durchgeführt haben, führen Sie diese Schritte aus, um Geodatabases in Amazon RDS for PostgreSQL zu aktualisieren.
- Vergewissern Sie sich, dass Sie über eine aktuelle, zuverlässige Sicherung der Datenbank in Amazon RDS for PostgreSQL verfügen.
- Stellen Sie eine Verbindung mit Amazon RDS for PostgreSQL her und vergewissern Sie sich, dass der sde-Benutzer die für das Upgrade erforderlichen Berechtigungen besitzt.
- Melden Sie sich bei einer der ArcGIS Server-EC2-Instanzen als ArcGIS-Benutzer an.
- Öffnen Sie einen Texteditor, um ein Python-Skript zum Aktualisieren der Geodatabase zu erstellen.
Beispiel:
vi upgrade.py
- Kopieren Sie das folgende Skript in einen Texteditor.
Ändern Sie das Skript, um für Ihre Site spezifische Informationen zu verwenden, darunter der Instanzname, das sde-Kennwort, der Name der Verbindungsdatei und der Datenbankname.
#Import arcpy module import arcpy # Create connection file arcpy.CreateDatabaseConnection_management("/tmp","egdbrds_connection.sde","POSTGRESQL","my_db_instance_identifier.awsregion_id.rds.amazonaws.com","DATABASE_AUTH", "sde", "E$ri3774", "SAVE_USERNAME", "egdb") # Upgrade geodatabase arcpy.UpgradeGDB_management("/tmp/egdbrds_connection.sde", "PREREQUISITE_CHECK", "UPGRADE")
Weitere Informationen zur Syntax des Werkzeugs finden Sie unter Erstellen einer Datenbankverbindung und Aktualisieren der Geodatabase.
- Speichern Sie die Datei, und schließen Sie den Texteditor.
- Beenden Sie ArcGIS Server mit dem Befehl stopserver.sh.
- Führen Sie das Upgrade-Skript in Python aus.
/arcgis/server/tools/python <path to the file>/upgrade.py
Falls die Aktualisierung fehlschlägt, werden Informationen in die Datei GDBUpgrade.log unter /arcgis/server/framework/runtime/.wine/drive_c/users/arcgis/LocalAppData/ESRI/Server<#> geschrieben.
- Um sicherzustellen, dass die Geodatabase aktualisiert wurde, öffnen Sie ein Python-Befehlsfenster, und führen Sie folgende Befehle aus, wobei Sie /tmp/egdbrds_connection.sde durch den Speicherort und den Namen Ihrer Verbindungsdatei ersetzen.
Öffnen Sie zunächst eine arcpy-Eingabeaufforderung.
cd /arcgis/server/tools ./python
Verwenden Sie isCurrent, um zu ermitteln, ob die Geodatabase auf die aktuelle Version aktualisiert wurde.
import arcpy isCurrent = arcpy.Describe('/tmp/egdbrds_connection.sde').currentRelease print isCurrent
Wenn print isCurrent den Wert True zurückgibt, ist die Geodatabase aktualisiert.
- Zum Beenden der arcpy-Eingabeaufforderung geben Sie quit() ein.
- Ändern Sie das Skript upgrade.py, und führen Sie es erneut für jede Geodatabase aus, die aktualisiert werden soll.
Aktualisieren der Geodatabases auf SITEHOST
Wenn Sie die ArcGIS Server-Site und die Geodatabases mit ArcGIS Server Cloud Builder on Amazon Web Services erstellt haben, befolgen Sie die Schritte in diesem Abschnitt, um die Geodatabases in einem PostgreSQL-Datenbank-Cluster zu aktualisieren, die sich auf derselben Instanz wie der ArcGIS Server-SITEHOST befinden.
Hinweis:
Sie können bei ArcGIS Server 10.6.1 und früher kein direktes Upgrade auf Version 11.2 durchführen. Sie müssen zunächst ein Upgrade auf eine Zwischenversion und dann ein Upgrade auf Version 11.2 durchführen.
Beachten Sie außerdem, dass jede Geodatabase in PostgreSQL, die ursprünglich mit ArcGIS Server Cloud Builder on Amazon Web Services 10.6.1 erstellt wurde, ein Upgrade von PostgreSQL auf eine unterstützte Version und ein Upgrade des Betriebssystems Ubuntu auf eine unterstützte Version erfordert. Wahrscheinlich müssen Sie auch ein Upgrade von PostgreSQL und Ubuntu auf eine Zwischenversion durchführen. Wenn Sie beispielsweise ein Upgrade einer ArcGIS Server 10.5.1-Site mit einer Geodatabase in PostgreSQL durchführen, führen Sie ein Upgrade von ArcGIS Server auf Version 10.7.1 sowie ein Upgrade des Betriebssystems und ein Upgrade von PostgreSQL auf Versionen durch, die in Version 10.7.1 unterstützt wurden.
Erstellen Sie vor einem Upgrade immer Sicherungen. Testen Sie das Upgrade auf die Zwischenversion, bevor Sie mit dem Upgrade auf Version 11.2 fortfahren.
Die Vorgehensweise beim Upgrade von PostgreSQL hängt von den PostgreSQL-Versionen ab, von denen und auf die Sie das Upgrade durchführen. Anweisungen dazu finden Sie in der PostgreSQL-Dokumentation.
Nachdem Sie das Upgrade von PostgreSQL und Ubuntu auf unterstützte Versionen durchgeführt haben, führen Sie ein Upgrade von ArcGIS Server durch, laden Sie die neue Datei st_geometry.so von My Esri herunter, speichern Sie die Datei im PostgreSQL-Verzeichnis lib, beenden Sie ArcGIS Server, führen Sie ein Python-Skript zum Aktualisieren jeder Geodatabase aus, und starten Sie ArcGIS Server neu.
- Installieren Sie die neue ArcGIS Server-Version auf der EC2-Instanz, und führen Sie das Upgrade auf dieselbe Weise wie für eine lokale ArcGIS Server-Site durch.
Im Installationsleitfaden zu ArcGIS Server finden Sie Anweisungen zum Durchführen der Upgrades.
- Bevor Sie die Geodatabases aktualisieren, müssen Sie Sicherungskopien von diesen erstellen.
Eine Möglichkeit zum Erstellen einer Sicherung besteht darin, einen Snapshot des EBS-Volumes zu erstellen, das die Daten enthält. Anweisungen dazu finden Sie in der Amazon Web Services-Dokumentation.
- Laden Sie vor der Aktualisierung die Datei st_geometry.so von My Esri herunter, und ersetzen Sie die Datei in /usr/lib/postgresql/<postgresql version>/lib.
- Die st_geometry.so-Datei ist im Besitz des Root-Benutzers. Wechseln Sie daher zum Root-Benutzer, sobald Sie eine Verbindung zur Amazon Web Services SITEHOST-Instanz als ubuntu hergestellt haben:
sudo su -
Hinweis:
Beachten Sie, dass Sie keine Verbindung als arcgis-Benutzer herstellen und zum Root-Benutzer wechseln können.
- Benennen Sie die alte Datei um, bevor Sie die neue Datei im Verzeichnis speichern.
mv /usr/lib/postgresql/<postgresql version>/lib/st_geometry.so /usr/lib/postgresql/<postgresql version>/lib/st_geometryOLD.so
- Kopieren Sie die neue Datei st_geometry.so in dem Verzeichnis, in das Sie sie heruntergeladen haben.
cp /usr/downloads/st_geometry.so /usr/lib/postgresql/<postgresql version>/lib
- Ändern Sie die Berechtigungen für die Datei st_geometry.so, um anderen Benutzern das Lesen und Ausführen der Datei zu erlauben.
chmod 755 /usr/lib/postgresql/<postgresql version>/lib/st_geometry.so
- Die st_geometry.so-Datei ist im Besitz des Root-Benutzers. Wechseln Sie daher zum Root-Benutzer, sobald Sie eine Verbindung zur Amazon Web Services SITEHOST-Instanz als ubuntu hergestellt haben:
- Wechseln Sie zum Benutzer "arcgis".
su - arcgis
- Öffnen Sie einen Texteditor, um das Python-Aktualisierungsskript zu erstellen.
vi upgrade.py
- Kopieren Sie das folgende Skript in einen Texteditor.
Ändern Sie das Skript, um für Ihre Site spezifische Informationen zu verwenden, darunter der Instanzname, das sde-Kennwort, der Name der Verbindungsdatei und der Datenbankname.
#Import arcpy module import arcpy # Create connection file arcpy.CreateDatabaseConnection_management("/tmp","egdb_connection.sde","POSTGRESQL","ec2-123-456-789-100.compute-1.amazonaws.com","DATABASE_AUTH", "sde", "E$ri3774", "SAVE_USERNAME", "egdb") # Upgrade geodatabase arcpy.UpgradeGDB_management("/tmp/egdb_connection.sde", "PREREQUISITE_CHECK", "UPGRADE")
Weitere Informationen zur Syntax des Werkzeugs finden Sie unter Erstellen einer Datenbankverbindung und Aktualisieren der Geodatabase.
- Speichern Sie die Datei, und schließen Sie den Texteditor.
- Beenden Sie ArcGIS Server mit dem Befehl stopserver.sh.
- Führen Sie das Upgrade-Skript in Python aus.
/arcgis/server/tools/python <path to the file>/upgrade.py
Möglicherweise werden mehrere Meldungen zu Typreferenzen angezeigt. Diese können ignoriert werden, sie sind kein Hinweis darauf, dass die Aktualisierung fehlgeschlagen ist.
Wenn die Aktualisierung nicht durchgeführt werden kann, werden Informationen in die Datei GDBUpgrade.log unter /arcgis/server/framework/runtime/.wine/drive_c/users/arcgis/LocalAppData/ESRI/Server<#> geschrieben.
- Führen Sie folgende Befehle in Python aus, um sicherzustellen, dass Ihre Geodatabase aktualisiert wird. Ersetzen Sie /tmp/egdb_connection.sde durch den Speicherort und den Namen Ihrer Verbindungsdatei.
Öffnen Sie zunächst eine arcpy-Eingabeaufforderung.
cd /arcgis/server/tools ./python
Verwenden Sie isCurrent, um zu ermitteln, ob die Geodatabase auf die aktuelle Version aktualisiert wurde.
import arcpy isCurrent = arcpy.Describe('/tmp/egdb_connection.sde').currentRelease print isCurrent
Wenn print isCurrent den Wert True zurückgibt, ist die Geodatabase aktualisiert.
- Zum Beenden der arcpy-Eingabeaufforderung geben Sie quit() ein.
- Ändern Sie das Skript, und führen Sie es für jede Geodatabase aus, die aktualisiert werden soll.
- Nachdem alle Geodatabases aktualisiert wurden, starten Sie ArcGIS Server mit dem Befehl startserver.sh neu.
Aktualisieren der Geodatabases auf EGDBHOST
Wenn Sie die ArcGIS Server-Site und die Geodatabases mit ArcGIS Server Cloud Builder on Amazon Web Services erstellt haben, führen Sie die Schritte in diesem Abschnitt aus, um Geodatabases in PostgreSQL zu aktualisieren, die sich auf einer eigenen, dedizierten AWS-Instanz (EGDBHOST) befinden.
Hinweis:
Sie können bei ArcGIS Server 10.6.1 und früher kein direktes Upgrade auf Version 11.2 durchführen. Sie müssen zunächst ein Upgrade auf eine Zwischenversion und dann ein Upgrade auf Version 11.2 durchführen.
Jede Geodatabase in PostgreSQL, die ursprünglich mit ArcGIS Server Cloud Builder on Amazon Web Services 10.6.1 erstellt wurde, erfordert ein Upgrade von PostgreSQL auf eine unterstützte Version und ein Upgrade des Betriebssystems Ubuntu auf eine unterstützte Version. Wahrscheinlich müssen Sie auch ein Upgrade von PostgreSQL und Ubuntu auf eine Zwischenversion durchführen. Wenn Sie beispielsweise ein Upgrade einer ArcGIS Server 10.5.1-Site mit einer Geodatabase in PostgreSQL durchführen, führen Sie ein Upgrade von ArcGIS Server auf Version 10.7.1 sowie ein Upgrade des Betriebssystems und ein Upgrade von PostgreSQL auf Versionen durch, die in Version 10.7.1 unterstützt wurden.
Erstellen Sie vor dem Upgrade immer eine Sicherung der Datenbank. Testen Sie das Upgrade auf die Zwischenversion, bevor Sie mit dem Upgrade auf Version 11.2 fortfahren.
Die Vorgehensweise beim Upgrade von PostgreSQL hängt von den PostgreSQL-Versionen ab, von denen und auf die Sie das Upgrade durchführen. Anweisungen dazu finden Sie in der PostgreSQL-Dokumentation.
Nachdem Sie das Upgrade von PostgreSQL und Ubuntu durchgeführt haben, führen Sie das Upgrade von ArcGIS Server auf dem SITEHOST durch, laden Sie die neue Datei st_geometry.so von My Esri herunter, speichern Sie sie im PostgreSQL-Verzeichnis lib auf EGDBHOST, beenden Sie ArcGIS Server, führen Sie ein Python-Skript über SITEHOST aus, um die einzelnen Geodatabases zu aktualisieren, und starten Sie ArcGIS Server neu.
- Installieren Sie die neue ArcGIS Server-Version auf der EC2-Instanz, und führen Sie das Upgrade auf dieselbe Weise wie für eine lokale ArcGIS Server-Site durch.
Die Upgrade-Anweisungen finden Sie in der Installationsanweisung für ArcGIS Server.
- Bevor Sie die Geodatabases aktualisieren, müssen Sie Sicherungskopien von diesen erstellen.
Eine Möglichkeit zum Erstellen einer Sicherung besteht darin, einen Snapshot des EBS-Volumes zu erstellen, das die Daten enthält. Weitere Anweisungen zum Erstellen eines Snapshots eines EBS-Volume finden Sie in der Amazon Web Services-Dokumentation.
- Laden Sie außerdem vor der Aktualisierung die Datei st_geometry.so von My Esri herunter, und speichern Sie sie unter /usr/lib/postgresql/<postgresql version>/lib.
- Bevor Sie die neue Datei im Verzeichnis speichern, benennen Sie die alte auf EGDBHOST um. Da die Datei st_geometry.so im Besitz des Root-Benutzers ist, melden Sie sich bei EGDBHOST als ubuntu an, und wechseln Sie dann zum Root-Benutzer.
sudo su - mv /usr/lib/postgresql/<postgresql version>/lib/st_geometry.so /usr/lib/postgresql/<postgresql version>/lib/st_geometryOLD.so
- Kopieren Sie die Datei st_geometry.so in dem Verzeichnis, in das Sie sie heruntergeladen haben.
cp /gisdata/st_geometry.so /usr/lib/postgresql/<postgresql version>/lib/st_geometry.so
- Ändern Sie die Berechtigungen für die Datei st_geometry.so, um anderen Benutzern das Lesen und Ausführen der Datei zu erlauben.
chmod 755 /usr/lib/postgresql/<postgresql version>/lib/st_geometry.so
- Bevor Sie die neue Datei im Verzeichnis speichern, benennen Sie die alte auf EGDBHOST um. Da die Datei st_geometry.so im Besitz des Root-Benutzers ist, melden Sie sich bei EGDBHOST als ubuntu an, und wechseln Sie dann zum Root-Benutzer.
- Melden Sie sich bei SITEHOST als arcgis-Benutzer an.
- Öffnen Sie einen Texteditor, um das Python-Aktualisierungsskript zu erstellen.
Beispiel:
vi upgrade.py
- Kopieren Sie das folgende Skript in einen Texteditor.
Ändern Sie das Skript, um für Ihre Site spezifische Informationen zu verwenden, darunter der Instanzname, das sde-Kennwort, der Name der Verbindungsdatei und der Datenbankname.
#Import arcpy module import arcpy # Create connection file arcpy.CreateDatabaseConnection_management("/tmp","egdb_connection.sde","POSTGRESQL","ec2-123-456-789-100.compute-1.amazonaws.com","DATABASE_AUTH", "sde", "E$ri3774", "SAVE_USERNAME", "egdb") # Upgrade geodatabase arcpy.UpgradeGDB_management("/tmp/egdb_connection.sde", "PREREQUISITE_CHECK", "UPGRADE")
Weitere Informationen zur Syntax des Werkzeugs finden Sie unter Erstellen einer Datenbankverbindung und Aktualisieren der Geodatabase.
- Speichern Sie die Datei, und schließen Sie den Texteditor.
- Beenden Sie ArcGIS Server mit dem Befehl stopserver.sh.
- Führen Sie das Upgrade-Skript in Python aus.
/arcgis/server/tools/python <path to the file>/upgrade.py
Möglicherweise werden mehrere Meldungen zu Typreferenzen angezeigt. Sie können diese Meldungen ignorieren.
Falls die Aktualisierung fehlschlägt, werden Informationen in die Datei GDBUpgrade.log unter /arcgis/server/framework/runtime/.wine/drive_c/users/arcgis/LocalAppData/ESRI/Server<#> geschrieben.
- Um sicherzustellen, dass die Geodatabase aktualisiert wurde, öffnen Sie Python, und führen Sie die folgenden Befehle aus, wobei Sie /tmp/egdb_connection.sde durch den Speicherort und den Namen der Verbindungsdatei ersetzen.
Öffnen Sie zunächst eine arcpy-Eingabeaufforderung.
cd /arcgis/server/tools ./python
Verwenden Sie isCurrent, um zu ermitteln, ob die Geodatabase auf die aktuelle Version aktualisiert wurde.
import arcpy isCurrent = arcpy.Describe('/tmp/egdb_connection.sde').currentRelease print isCurrent
Wenn print isCurrent den Wert True zurückgibt, ist die Geodatabase aktualisiert.
- Zum Beenden der arcpy-Eingabeaufforderung geben Sie quit() ein.
- Ändern Sie das Skript upgrade.py, und führen Sie es erneut für jede Geodatabase aus, die aktualisiert werden soll.
- Nachdem alle Geodatabases aktualisiert wurden, starten Sie ArcGIS Server mit dem Befehl startserver.sh neu.
Migrieren von Inhalten in eine Geodatabase der Version 11.2 in einer Amazon-Datenbank-Service-Instanz
Wenn Sie ein Upgrade von ArcGIS 10 unter AWS durchführen oder kein Upgrade von PostgreSQL und des Betriebssystems durchführen möchten, verschieben Sie die Inhalte in eine Instanz von Amazon Relational Database Service (RDS), und veröffentlichen Sie die Services neu. Der folgende Abschnitt bietet eine Zusammenfassung dieser Migration:
- Erstellen Sie eine Geodatabase in einer Amazon RDS for PostgreSQL- oder Amazon Aurora (PostgreSQL-compatible edition)-Instanz, und registrieren Sie sie bei Ihrer aktualisierten (oder neuen) ArcGIS Server 11.2-Site.
- Verschieben Sie vorhandene Daten in die neue Geodatabase.
- Veröffentlichen Sie die Services erneut.
Weitere Informationen zum Veröffentlichen von Services finden Sie in der Hilfe zu ArcGIS Server.
- Aktualisieren Sie die Apps so, dass sie die neuen Services verwenden.
Die genaue Vorgehensweise hierfür ist von der Art ihrer Erstellung abhängig. Bei benutzerdefinierten Apps, die den Service direkt verwenden, müssen Sie die Service-URL aktualisieren. Bei Apps, die Sie mit einem ArcGIS Enterprise-Portal oder einem ArcGIS Online-Element erstellt haben, müssen Sie den Layer der in der App verwendeten Karte oder Szene aktualisieren.