Mettez à niveau vos géodatabases pour bénéficier des nouvelles fonctionnalités et améliorations intégrées à la géodatabase. Pour mettre à niveau une géodatabase d’entreprise dans PostgreSQL sur Amazon Web Services (AWS), procédez de l’une des manières suivantes :
- Mettez à jour le logiciel ArcGIS sur votre instance AWSexistante et mettez à niveau la géodatabase.
Si votre géodatabase se trouve dans un agrégat de bases de données PostgreSQL sur AWS, vérifiez que votre version PostgreSQL existante est compatible avec la dernière version du logiciel ArcGIS. Si tel n’est pas le cas, vous devez également mettre à niveau l’agrégat de bases de données PostgreSQL.
Si votre géodatabase se trouve dans Amazon Relational Database Service (RDS) for PostgreSQL, Amazon met automatiquement à jour la version PostgreSQL de sorte qu’il vous suffit de mettre à niveau la géodatabase une fois la mise à niveau du logiciel ArcGIS terminée.
- Migration de contenu vers une nouvelle géodatabase dans une instance de service de base de données Amazon.
Cette méthode est plus longue, mais vous devez l’utiliser si vous effectuez une mise à niveau depuis une instance ArcGIS 10 et qu’il n’existe aucun chemin de mise à niveau direct de la version 10 à la version 10.9. Cette méthode peut également être utilisée pour migrer vos données depuis un agrégat de bases de données PostgreSQL existant ou d’une instance Microsoft SQL Server vers Amazon RDS for PostgreSQL ou Amazon Aurora (PostgreSQL-compatible edition) pour tirer parti des mises à jour automatiques appliquées par Amazon à ces instances.
Les sections suivantes décrivent les méthodes permettant de mettre à jour votre géodatabase vers la version la plus récente.
Mettez à jour le logiciel ArcGIS sur votre instance AWSexistante et mettez à niveau la géodatabase
Vous pouvez mettre à niveau ArcGIS Server sur votre instance existante, mettre à niveau votre géodatabase dans PostgreSQL et continuer à utiliser vos données et services existants. Sachez que le système d'exploitation et tous les autres logiciels de cette instance conservent la version qu'ils présentaient lorsque vous avez créé votre instance. Par exemple, si vous avez créé votre instance à partir d'une image virtuelle AMI ArcGIS Server 10.2.2 for AWS, vous continuerez à utiliser une base de données PostgreSQL 9.2.4 sur un système d'exploitation Ubuntu12.04. Selon la version de ArcGIS Server vers laquelle vous effectuez la mise à niveau, cette version de PostgreSQL peut ne pas être compatible.
Si la version PostgreSQL présente sur votre instance n'est pas compatible avec la nouvelle version de ArcGIS Server, vous devez également mettre à niveau PostgreSQL vers une version prise en charge. Par exemple, si vous avez lancé une instance ArcGIS 10.3 et souhaitez effectuer la mise à niveau vers ArcGIS Server 10.9 sur cette instance, vous devez également mettre à niveau PostgreSQL vers une version prise en charge. Consultez la documentation PostgreSQL pour en savoir plus sur la mise à niveau de PostgreSQL.
La façon dont vous mettez à niveau ArcGIS Server sur AWS dépend de la façon dont vous avez créé le site ArcGIS Server. Reportez-vous à la rubrique Mises à niveau ArcGIS sur Amazon Web Services pour en savoir plus sur la mise à niveau de ArcGIS Server sur AWS. Une fois réalisée la mise à niveau de ArcGIS Server, suivez les instructions pour mettre à niveau la géodatabase dans Amazon RDS for PostgreSQL.
Si vous avez utilisé ArcGIS Server Cloud Builder on Amazon Web Services 10.6.1 ou version antérieure pour créer le site ArcGIS Server et les géodatabase, reportez-vous aux instructions correspondant à l’emplacement de PostgreSQL : sur l’instance SITEHOST ou sur l’instance EGDBHOST.
Mettre à niveau les géodatabases dans Amazon RDS for PostgreSQL
Après avoir mis à niveau votre site ArcGIS Server sur AWS, suivez ces étapes pour mettre à niveau les géodatabases dans Amazon RDS for PostgreSQL.
- Vérifiez que vous possédez une sauvegarde actuelle et fiable de votre base de données dans Amazon RDS for PostgreSQL
- Connectez-vous à Amazon RDS for PostgreSQL et vérifiez que l’utilisateur sde dispose du rôle rds_superuser.
- Connectez-vous à l’une de vos instances ArcGIS Server sur AWS en tant qu’utilisateur arcgis.
- Ouvrez un éditeur de texte pour créer un script Python et mettre à niveau votre géodatabase.
Par exemple :
vi upgrade.py
- Copiez le script suivant dans un éditeur de texte.
Modifiez le script de façon à utiliser les informations propres à votre site, notamment le nom d'instance, le mot de passe sde, le nom et l'emplacement du fichier de connexion et le nom de la base de données.
#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")
Reportez-vous aux rubriques Créer une connexion à une base de données et Mettre une géodatabase à niveau pour plus d'informations sur la syntaxe de l'outil.
- Enregistrez le fichier et fermez l'éditeur de texte.
- Arrêtez ArcGIS Server.
/arcgis/server/stopserver.sh
- Exécutez le script dans Python.
/arcgis/server/tools/python <path to the file>/upgrade.py
Si la mise à niveau échoue, des informations sont consignées dans le GDBUpgrade.log dans /arcgis/server/framework/runtime/.wine/drive_c/users/arcgis/LocalAppData/ESRI/Server<#>.
- Pour vous assurer que votre géodatabase est mise à niveau, ouvrez une fenêtre de commandes Python et exécutez ce qui suit, en remplaçant /tmp/egdbrds_connection.sde par l'emplacement et le nom de votre fichier de connexion.
D'abord, ouvrez une invite arcpy.
cd /arcgis/server/tools ./python
Utilisez isCurrent pour savoir si la géodatabase est mise à niveau vers la version actuelle.
import arcpy isCurrent = arcpy.Describe('/tmp/egdbrds_connection.sde').currentRelease print isCurrent
Si print isCurrent renvoie True, votre géodatabase est mise à niveau.
- Pour quitter l'invite arcpy, tapez quit().
- Modifiez le script upgrade.py et exécutez-le à nouveau pour chaque géodatabase que vous devez mettre à niveau.
Mettre à niveau des géodatabases sur SITEHOST
Si vous avez créé votre site ArcGIS Server et les géodatabases avec ArcGIS Server Cloud Builder on Amazon Web Services, suivez les étapes de cette section pour mettre à niveau des géodatabases dans un agrégat de bases de données PostgreSQL résidant sur la même instance que l’instance SITEHOST de ArcGIS Server.
Mettez à jour ArcGIS Server, déplacez le nouveau fichier st_geometry.so vers le répertoire PostgreSQL lib, arrêtez ArcGIS Server, exécutez un script Python pour mettre à niveau chaque géodatabase et redémarrez ArcGIS Server.
- Installez la nouvelle version de ArcGIS Server sur votre instance AWS et mettez à niveau comme vous le feriez pour un site ArcGIS Server local.
Reportez-vous au guide d'installation de ArcGIS Server pour des instructions de mise à niveau.
- Créez des copies de sauvegarde de vos géodatabases avant de les mettre à niveau. Le plus simple consiste à créer une capture d'écran du volume EBS contenant vos données. Consultez la documentation Amazon Web Services pour obtenir des instructions.
- Avant la mise à niveau, vous devez copier le fichier st_geometry.so du répertoire /arcgis/server/DatabaseSupport/PostgreSQL/Linux64 vers /usr/lib/postgresql/<postgresql version>/lib.
- Le fichier st_geometry.so appartient à l'utilisateur racine. Ainsi, après vous être connecté à l'instance SITEHOST Amazon Web Services en tant qu'utilisateur ubuntu, connectez-vous en tant qu'utilisateur racine :
sudo su -
Remarque :
N'oubliez pas que vous ne pouvez pas vous connecter comme utilisateur arcgis, puis en tant qu'utilisateur racine.
- Avant de copier le nouveau fichier, renommez l'ancien.
mv /usr/lib/postgresql/<postgresql version>/lib/st_geometry.so /usr/lib/postgresql/<postgresql version>/lib/st_geometryOLD.so
- Copiez le nouveau fichier st_geometry.so.
cp /arcgis/server/DatabaseSupport/PostgreSQL/Linux64/st_geometry.so /usr/lib/postgresql/<postgresql version>/lib
- Changez les autorisations du fichier st_geometry.so pour autoriser d'autres utilisateurs à le lire et à l'exécuter.
chmod 755 /usr/lib/postgresql/<postgresql version>/lib/st_geometry.so
- Le fichier st_geometry.so appartient à l'utilisateur racine. Ainsi, après vous être connecté à l'instance SITEHOST Amazon Web Services en tant qu'utilisateur ubuntu, connectez-vous en tant qu'utilisateur racine :
- Connectez-vous en tant qu'utilisateur arcgis.
su - arcgis
- Ouvrez un éditeur de texte pour créer le script Python de mise à niveau.
vi upgrade.py
- Copiez le script suivant dans un éditeur de texte.
Modifiez le script de façon à utiliser les informations propres à votre site, notamment le nom d'instance, le mot de passe sde, le nom et l'emplacement du fichier de connexion et le nom de la base de données.
#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")
Reportez-vous aux rubriques Créer une connexion à une base de données et Mettre une géodatabase à niveau pour plus d'informations sur la syntaxe de l'outil.
- Enregistrez le fichier et fermez l'éditeur de texte.
- Arrêtez ArcGIS Server.
/arcgis/server/stopserver.sh
- Exécutez le script dans Python.
/arcgis/server/tools/python <path to the file>/upgrade.py
Il est possible que plusieurs messages concernant les références de type s'affichent. Vous pouvez les ignorer, ils ne signifient pas que la mise à niveau a échoué.
Des informations sont consignées dans le fichier journal GDBUpgrade.log sous /arcgis/server/framework/runtime/.wine/drive_c/users/arcgis/LocalAppData/ESRI/Server<#> si la mise à niveau échoue.
- Pour vous assurer que votre géodatabase est mise à niveau, exécutez ce qui suit dans Python. Remplacez /tmp/egdb_connection.sde par l'emplacement et le nom de votre fichier de connexion.
D'abord, ouvrez une invite arcpy.
cd /arcgis/server/tools ./python
Utilisez isCurrent pour savoir si la géodatabase est mise à niveau vers la version actuelle.
import arcpy isCurrent = arcpy.Describe('/tmp/egdb_connection.sde').currentRelease print isCurrent
Si print isCurrent renvoie True, votre géodatabase est mise à niveau.
- Pour quitter l'invite arcpy, tapez quit().
- Modifiez le script et exécutez-le à nouveau pour chaque géodatabase que vous devez mettre à niveau.
- Si vous devez mettre à niveau PostgreSQL vers une version prise en charge, créez une sauvegarde de la base de données et procédez à la mise à niveau de PostgreSQL. Le mode de mise à niveau de PostgreSQL dépend des versions d'origine et de destination de PostgreSQL. Consultez la documentation PostgreSQL pour obtenir des instructions.
- Une fois toutes les géodatabases (et les bases de données, si nécessaire) mises à niveau, redémarrez ArcGIS Server.
/arcgis/server/startserver.sh
Mettre à niveau des géodatabases sur EGDBHOST
Si vous avez créé votre site ArcGIS Server et les géodatabases avec ArcGIS Server Cloud Builder on Amazon Web Services, suivez les étapes de cette section pour mettre à niveau les géodatabases dans PostgreSQL qui se trouvent dans leur propre instance AWS dédiée (EGDBHOST).
Mettez à jour ArcGIS Server sur le SITEHOST, déplacez le nouveau fichier st_geometry.so depuis SITEHOST vers le répertoire PostgreSQL lib sur EGDBHOST, arrêtez ArcGIS Server, exécutez un script Python depuis SITEHOST pour mettre à niveau chaque géodatabase et redémarrez ArcGIS Server.
- Installez la nouvelle version de ArcGIS Server sur votre instance AWS et mettez à niveau comme vous le feriez pour un site ArcGIS Server local.
Reportez-vous au guide d'installation de ArcGIS Server pour des instructions de mise à niveau.
- Créez des copies de sauvegarde de vos géodatabases avant de les mettre à niveau. Le plus simple consiste à créer une capture d'écran du volume EBS contenant vos données. Consultez la documentation Amazon Web Services pour savoir comment créer un instantané d'un volume EBS.
- Avant la mise à niveau, vous devez copier le fichier st_geometry.so du répertoire /arcgis/server/DatabaseSupport/PostgreSQL/Linux64 vers /usr/lib/postgresql/<postgresql version>/lib.
- Avant de copier le nouveau fichier, renommez l'ancien sur EGDBHOST. Comme le fichier st_geometry.so est la propriété de l'utilisateur racine, connectez-vous à EGDBHOST en tant qu'utilisateur ubuntu, puis en tant qu'utilisateur racine.
sudo su - mv /usr/lib/postgresql/<postgresql version>/lib/st_geometry.so /usr/lib/postgresql/<postgresql version>/lib/st_geometryOLD.so
- Vous devez déplacer le fichier st_geometry.so depuis /arcgis/server/DatabaseSupport/PostgreSQL/Linux64 sur SITEHOST vers /usr/lib/postgresql/<postgresql version>/lib sur EGDBHOST.
Comme les deux répertoires source et de destination qui se trouvent sur les différentes instances ne sont pas accessibles par le même utilisateur, connectez-vous à SITEHOST en tant qu'utilisateur arcgis et copiez le fichier dans le répertoire gisdata sur EGDBHOST.
cp /arcgis/server/DatabaseSupport/PostgreSQL/Linux64/st_geometry.so /net/EGDBHOST/gisdata/st_geometry.so
- Connectez-vous à EGDBHOST en tant qu'utilisateur ubuntu.
- Connectez-vous en tant qu'utilisateur racine.
sudo su -
- Copiez le fichier st_geometry.so depuis gisdata vers /usr/lib/postgresql/<postgresql version>/lib.
cp /gisdata/st_geometry.so /usr/lib/postgresql/<postgresql version>/lib/st_geometry.so
- Changez les autorisations du fichier st_geometry.so pour autoriser d'autres utilisateurs à le lire et à l'exécuter.
chmod 755 /usr/lib/postgresql/<postgresql version>/lib/st_geometry.so
- Avant de copier le nouveau fichier, renommez l'ancien sur EGDBHOST. Comme le fichier st_geometry.so est la propriété de l'utilisateur racine, connectez-vous à EGDBHOST en tant qu'utilisateur ubuntu, puis en tant qu'utilisateur racine.
- Connectez-vous à SITEHOST en tant qu'utilisateur arcgis.
- Ouvrez un éditeur de texte pour créer le script Python de mise à niveau.
Par exemple :
vi upgrade.py
- Copiez le script suivant dans un éditeur de texte.
Modifiez le script de façon à utiliser les informations propres à votre site, notamment le nom d'instance, le mot de passe sde, le nom et l'emplacement du fichier de connexion et le nom de la base de données.
#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")
Reportez-vous aux rubriques Créer une connexion à une base de données et Mettre une géodatabase à niveau pour plus d'informations sur la syntaxe de l'outil.
- Enregistrez le fichier et fermez l'éditeur de texte.
- Arrêtez ArcGIS Server.
/arcgis/server/stopserver.sh
- Exécutez le script dans Python.
/arcgis/server/tools/python <path to the file>/upgrade.py
Il est possible que plusieurs messages concernant les références de type s'affichent. Vous pouvez ignorer ces messages.
Si la mise à niveau échoue, des informations sont consignées dans le GDBUpgrade.log dans /arcgis/server/framework/runtime/.wine/drive_c/users/arcgis/LocalAppData/ESRI/Server<#>.
- To be sure your geodatabase is upgraded, open Python and run the following, replacing /tmp/egdb_connection.sde with your connection file location and name.
D'abord, ouvrez une invite arcpy.
cd /arcgis/server/tools ./python
Utilisez isCurrent pour savoir si la géodatabase est mise à niveau vers la version actuelle.
import arcpy isCurrent = arcpy.Describe('/tmp/egdb_connection.sde').currentRelease print isCurrent
Si print isCurrent renvoie True, votre géodatabase est mise à niveau.
- Pour quitter l'invite arcpy, tapez quit().
- Modifiez le script upgrade.py et exécutez-le à nouveau pour chaque géodatabase que vous devez mettre à niveau.
- Si vous devez mettre à niveau PostgreSQL vers une version prise en charge, créez une sauvegarde de la base de données et procédez à la mise à niveau de PostgreSQL. Le mode de mise à niveau de PostgreSQL dépend des versions d'origine et de destination de PostgreSQL. Consultez la documentation PostgreSQL pour obtenir des instructions.
- Une fois toutes les géodatabases (et les bases de données, si nécessaire) mises à niveau, redémarrez ArcGIS Server.
/arcgis/server/startserver.sh
Migration de contenu vers une géodatabase 10.9 dans une instance de service de base de données Amazon
Pour être sûr d’obtenir la dernière version de PostgreSQL ou dans le cas d’une mise à jour depuis ArcGIS 10 sur AWS, procédez comme suit :
- Créez une géodatabase dans une instance Amazon RDS for PostgreSQL ou Amazon Aurora (PostgreSQL-compatible edition) et inscrivez-la auprès de votre nouveau site ArcGIS Server 10.9 (ou mis à niveau).
- Déplacer des données existantes dans la nouvelle géodatabase.
- Republier des services
Consultez l’aide ArcGIS Server pour obtenir des informations sur la publication de services.
- Mettez à jour les applications pour utiliser les nouveaux services.
La manière de procéder dépend de la façon dont l’application a été créée. Pour les applications personnalisées qui utilisent le service directement, mettez à jour l’URL de service. Pour les applications créées à l’aide d’un portail ArcGIS Enterprise ou d’un élément ArcGIS Online, vous devrez mettre à jour la couche dans la carte ou scène utilisée dans l’application.
Vous avez un commentaire à formuler concernant cette rubrique ?