ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Aide
  • Sign Out
ArcGIS Desktop

ArcGIS Online

La plateforme cartographique de votre organisation

ArcGIS Desktop

Un SIG professionnel complet

ArcGIS Enterprise

SIG dans votre entreprise

ArcGIS for Developers

Outils de création d'applications de localisation

ArcGIS Solutions

Modèles d'applications et de cartes gratuits pour votre secteur d'activité

ArcGIS Marketplace

Téléchargez des applications et des données pour votre organisation.

  • Documentation
  • Support
Esri
  • Se connecter
user
  • Mon profil
  • Déconnexion

ArcMap

  • Accueil
  • Commencer
  • Carte
  • Analyser
  • Gérer les données
  • Outils
  • Extensions

Mettre à niveau une géodatabase dans Db2 sur z/OS

Disponible avec une licence Standard ou Advanced.

  • Avant de procéder à la mise à niveau
  • Mettre à niveau la géodatabase

La mise à niveau d'une géodatabase d'entreprise consiste à mettre à jour les tables système de géodatabase, les procédures stockées, les types et les fonctions pour bénéficier des nouvelles fonctionnalités et des corrections de bogues.

Installez une nouvelle version du client ArcGIS ou appliquez un service pack, un patch ou un correctif à une installation existante, puis mettez à niveau la géodatabase.

Astuce:

Cette rubrique concerne les géodatabases dans Db2 sur un système d’exploitation z. Dans le cas d’une géodatabase dans Db2 sur Linux, Unix ou Windows, reportez-vous à la rubrique Mettre à niveau une géodatabase dans Db2.

Avant de procéder à la mise à niveau

Lorsque vous mettez à niveau un système d'entreprise, y compris une géodatabase, planifiez à l'avance. Testez la nouvelle version sur un serveur de développement ou de test pour vérifier qu'elle fonctionne avec toutes vos applications clientes.

Lorsque vous vous êtes assuré que le nouveau système fonctionne comme attendu, programmez la mise à niveau ; assurez-vous que le personnel nécessaire est disponible pour effectuer la mise à niveau et qu'il dispose des autorisations nécessaires pour effectuer ces tâches.

Vérifiez les éléments suivants :

  • Les mises à niveau des versions bêta du logiciel ne sont pas prises en charge.
  • Vous pouvez effectuer une mise à niveau directement à partir d’une géodatabase 10.2.x, 10.3.x, 10.4.x, 10.5.x ou 10.6.x si la version de votre base de données est prise en charge.
  • Si votre géodatabase est de version 10 ou antérieure, vous devez commencer par la mettre à niveau vers une version prise en charge avant d'effectuer la mise à niveau vers la version actuelle d'ArcGIS.
  • Une fois une géodatabase mise à niveau vers la version actuelle, ArcGIS 10 et les clients antérieurs ne peuvent plus s'y connecter.
  • Il n'existe aucun mécanisme formel permettant de rétrograder une géodatabase vers une version antérieure. Si, après avoir effectué une mise à niveau vers une version plus récente, vous voulez rétrograder la géodatabase, restaurez l'ancienne base de données à partir d'un fichier de sauvegarde.

La liste de contrôle suivante décrit les étapes à suivre avant de mettre à niveau votre géodatabase :

  1. Prenez connaissance des spécifications de bases de données IBM Db2 pour ArcGIS 10.6.1 pour avoir la confirmation qu’Esri prend en charge l’association de versions de Db2 z/OS et d’ArcGIS que vous souhaitez utiliser.

    Avant de mettre à niveau la géodatabase, assurez-vous que la version de la base de données est prise en charge et que votre matériel répond au minimum aux exigences de base en matière de configuration système.

  2. Vérifiez que votre géodatabase peut être mise à niveau. Pour ce faire, installez la version du client ArcGIS vers laquelle vous souhaitez effectuer une mise à niveau. Si vous installez ArcMap, vous pouvez vous connecter à la géodatabase et ouvrir la boîte de dialogue Propriétés de la base de données pour déterminer si la géodatabase peut être mise à niveau. Si vous installez ArcGIS Server (édition Enterprise) ou l'extension ArcGIS Engine Geodatabase Update, vous pouvez utiliser la fonction ArcPy Describe pour déterminer si la géodatabase peut être mise à niveau.
    # Open Python.
    cd /arcgis/server/tools
    ./python
    # Create a connection to the geodatabase.
    arcpy.CreateDatabaseConnection_management("/tmp/",
                                              "egdb_connection.sde",
                                              "DB2ZOS",
                                              "mydbgdb",
                                              "DATABASE_AUTH",
                                              "sde",
                                              "mysdepassword",
                                              "SAVE_USERNAME")
    # Import ArcPy and check the geodatabase release.
    import arcpy
    isCurrent = arcpy.Describe('/tmp/egdb_connection.sde').currentRelease
    print isCurrent
    

    Si la valeur false est renvoyée, vous pouvez mettre à niveau votre géodatabase. Si la valeur true est renvoyée, votre géodatabase n'a pas besoin d'être mise à niveau. N'exécutez pas les étapes suivantes.

  3. Effectuez une sauvegarde du sous-système qui comprend la géodatabase.
  4. Accordez à l'utilisateur sde l'autorité BINDADD, CREATE ON COLLECTION SDE et DBADM dans la base de données. Il est indispensable de le faire pour procéder à la mise à niveau.
  5. Supprimez les fonctionnalités personnalisées éventuellement ajoutées aux tables système de géodatabase en dehors d'ArcGIS, telles que des déclencheurs ou des index supplémentaires.

    La procédure de mise à niveau ne peut pas tenir compte des personnalisations que vous apportez aux tables système. Si de telles personnalisations empêchent l'altération de la structure d'une table système, la mise à niveau échoue.

  6. A ce stade, vous pouvez créer une deuxième sauvegarde du sous-système pour conserver les changements apportés aux étapes précédentes.
  7. Installez la version actuelle d'un client ArcGIS (ArcMap Desktop Standard ou Desktop Advanced ou ArcGIS Server) sur un ordinateur capable de se connecter à la géodatabase pour effectuer la mise à niveau.
  8. Vérifiez qu'aucune connexion n'est établie à la géodatabase que vous mettez à niveau.

    Pour voir la liste des utilisateurs actuellement connectés à votre géodatabase, ouvrez l'onglet Connexions de la boîte de dialogue Administration de géodatabase dans ArcMap.

  9. Lors de l'installation du client ArcGIS, un script ESRIUDFB JCL est stocké dans <ArcGIS client installation directory>\DatabaseSupport\DB2zOS. Vous utiliserez ce fichier à l'étape suivante.

Vous pouvez maintenant mettre à niveau votre géodatabase.

Mettre à niveau la géodatabase

Vous pouvez utiliser l'outil Mettre à niveau la géodatabase dans ArcMap ou exécuter un script Python sur l'ordinateur du client ArcGIS pour mettre à niveau votre géodatabase.

Utiliser l'outil Mettre à niveau la géodatabase

Vous pouvez ouvrir l'outil Mettre à niveau la géodatabase dans la boîte de dialogue Propriétés de la base de données dans ArcMap en cliquant sur le bouton Mettre à niveau la géodatabase de l'onglet Général ou en ouvrant directement l'outil. Si vous ouvrez l'outil à partir de la boîte de dialogue Propriétés de la base de données, la zone de texte Géodatabase en entrée contient déjà les informations nécessaires à une connexion à la géodatabase.

Esri conseille de laisser les options Exécuter une recherche de prérequis et Mettre à niveau la géodatabase activées. De cette façon, l'outil vérifie si les conditions préalables à la mise à niveau sont réunies avant la mise à niveau de la géodatabase.

Le contrôle préalable détecte d'autres connexions actives à la géodatabase, détermine si l'utilisateur qui tente d'établir la connexion détient des privilèges suffisants pour mettre à niveau la géodatabase, garantit que les jeux de données peuvent être ouverts et s'assure que la base de données et les bibliothèques sont à la même version. Si les conditions préalables ne sont pas toutes remplies, l'outil s'arrête. Vous devez résoudre tous les problèmes avant d'exécuter à nouveau la mise à niveau.

Les résultats de ce contrôle sont signalés dans la boîte de dialogue de l'outil de géotraitement. Si la vérification (ou la mise à niveau) échoue, les résultats sont également consignés dans le GDBUpgrade.log qui se trouve dans le répertoire c:\Users\<user name>\AppData\Local\ESRI\<ArcGIS product>.

Si tous les contrôles aboutissent, l'outil poursuit la mise à niveau. L'état du contrôle préalable et de la mise à niveau est indiquée dans la boîte de dialogue de progression de l'outil de géotraitement. Si la mise à niveau échoue, des informations sont consignées dans le GDBUpgrade.log. Des informations supplémentaires sont consignées dans le sde_setup.log qui se trouve dans le répertoire TEMP du système.

Exécuter un script

Pour mettre à niveau la géodatabase, copiez un de ces scripts d'exemple dans un éditeur de texte. Modifiez les valeurs des variables pour qu'elles correspondent aux informations de votre site.

  • Si vous avez un fichier de connexion à une base de données qui assure la connexion en tant qu'utilisateur sde, copiez le script correspondant au système d'exploitation du client, collez-le dans un éditeur de texte et modifiez-le pour insérer les informations propres à votre site, puis enregistrez le fichier, fermez-le et exécutez-le :
    # Name: upgradesdegdb_example.py
    # Description: Connect from a Windows computer 
    # with an existing database connection file 
    # 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: Connect from a Linux or UNIX computer 
    # with an existing database connection file 
    # 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")
    
  • Si vous n'avez pas de fichier de connexion à une base de données sur l'ordinateur à partir duquel vous rédigez le script de mise à niveau, vous pouvez copier le script suivant et indiquer les informations propres à votre site sur la ligne de commande :
    """
    Name: upgrade_gdb.py
    Description: Provide connection information to an Enterprise geodatabase 
    and upgrade the geodatabase
    Type upgrade_gdb.py -h or upgrade_gdb.py --help for usage
    """
    
    # Import system modules
    import arcpy
    import os
    import optparse
    import sys
    
    
    # Define usage and version
    parser = optparse.OptionParser(usage = "usage: %prog [Options]", version="%prog 2.0; valid for 10.1 only")
    
    #Define help and options
    parser.add_option ("--DBMS", dest="Database_type", type="choice", choices=['SQLSERVER', 'ORACLE', 'POSTGRESQL', 'DB2','INFORMIX','DB2ZOS',''], default="", help="Type of enterprise DBMS:  SQLSERVER, ORACLE, or POSTGRESQL.")
    parser.add_option ("-i", dest="Instance", type="string", default="", help="DBMS instance name")
    parser.add_option ("--auth", dest="account_authentication", type ="choice", choices=['DATABASE_AUTH', 'OPERATING_SYSTEM_AUTH'], default='DATABASE_AUTH', help="Authentication type options (case-sensitive):  DATABASE_AUTH, OPERATING_SYSTEM_AUTH.  Default=DATABASE_AUTH")
    parser.add_option ("-u", dest="User", type="string", default="", help="Geodatabase administrator user name")
    parser.add_option ("-p", dest="Password", type="string", default="", help="Geodatabase administrator password")
    parser.add_option ("--upgrade", dest="Upgrade", type="choice", choices=['TRUE', 'FALSE'], default="FALSE", help="Upgrade Options (case-sensitive):  TRUE=Perform Pre-requisite check and upgrade geodatabase, FALSE=Perform Pre-requisite check only.  Default=FALSE")                   
    parser.add_option ("-D", dest="Database", type="string", default="none", help="Database name:  Not required for Oracle")
    
    
    # Check if value entered for option
    try:
    	(options, args) = parser.parse_args()
    
    	
    #Check if no system arguments (options) entered
    	if len(sys.argv) == 1:
    		print("%s: error: %s\n" % (sys.argv[0], "No command options given"))
    		parser.print_help()
    		sys.exit(3)
    
    	#Usage parameters for spatial database connection to upgrade
    	account_authentication = options.account_authentication.upper()
    	username = options.User.lower() 
    	password = options.Password	
    	do_upgrade = options.Upgrade
    	database = options.Database.lower()
    	database_type = options.Database_type.upper()
    	instance = options.Instance
    	
    	if (database_type == ""):
    		print("\nDatabase type must be specified!\n")
    		parser.print_help()
    		sys.exit(3)
    	
    	if (database_type == "SQLSERVER"):
    		database_type = "SQL_SERVER"
    	
    	# Get the current product license
    	product_license=arcpy.ProductInfo()
    	
    	# Checks required license level to upgrade
    	if product_license.upper() == "ARCVIEW" or product_license.upper() == 'ENGINE':
    		print("\n" + product_license + " license found!" + "  Enterprise geodatabase upgrade requires an ArcGIS Desktop Standard or Advanced, ArcGIS Engine with the Geodatabase Update extension, or ArcGIS Server license.")
    		sys.exit("Re-authorize ArcGIS before upgrading.")
    	else:
    		print("\n" + product_license + " license available!  Continuing to upgrade...")
    		arcpy.AddMessage("+++++++++")
    	
    	# Local variables
    	instance_temp = instance.replace("\\","_")
    	instance_temp = instance_temp.replace("/","_")
    	instance_temp = instance_temp.replace(":","_")
    	Conn_File_NameT = instance_temp + "_" + database + "_" + username     
    	
    	if os.environ.get("TEMP") == None:
    		temp = "c:\\temp"	
    	else:
    		temp = os.environ.get("TEMP")
    	
    	if os.environ.get("TMP") == None:
    		temp = "/usr/tmp"		
    	else:
    		temp = os.environ.get("TMP")  
    	
    	Connection_File_Name = Conn_File_NameT + ".sde"
    	Connection_File_Name_full_path = temp + os.sep + Conn_File_NameT + ".sde"
    	
    	# Check for the .sde file and delete it if present
    	arcpy.env.overwriteOutput=True
    	if os.path.exists(Connection_File_Name_full_path):
    		os.remove(Connection_File_Name_full_path)
    	
    	print("\nCreating Database Connection File...\n")
    	# Process: Create Database Connection File...
    	# Usage:  out_file_location, out_file_name, DBMS_TYPE, instnace, database, account_authentication, username, password, save_username_password(must be true)
    	arcpy.CreateDatabaseConnection_management(out_folder_path=temp, out_name=Connection_File_Name, database_platform=database_type, instance=instance, database=database, account_authentication=account_authentication, username=username, password=password, save_user_pass="TRUE")
            for i in range(arcpy.GetMessageCount()):
    		if "000565" in arcpy.GetMessage(i):   #Check if database connection was successful
    			arcpy.AddReturnMessage(i)
    			arcpy.AddMessage("\n+++++++++")
    			arcpy.AddMessage("Exiting!!")
    			arcpy.AddMessage("+++++++++\n")
    			sys.exit(3)            
    		else:
    			arcpy.AddReturnMessage(i)
    			arcpy.AddMessage("+++++++++\n")
    			
    	# Check whether geodatabase needs upgrade
    	isCurrent = arcpy.Describe(Connection_File_Name_full_path).currentRelease
    	
    	if isCurrent == True:
    		print("The geodatabase is already at the current release and cannot be upgraded!")
    		sys.exit("Upgrade did not run.")
    	
    	
    	# Process: Upgrade geodatabase...
    	try:
    		if do_upgrade.lower() == "true":
    			print("Upgrading Geodatabase...\n")
    			arcpy.UpgradeGDB_management(input_workspace=Connection_File_Name_full_path, input_prerequisite_check="PREREQUISITE_CHECK", input_upgradegdb_check="UPGRADE")
    			for i in range(arcpy.GetMessageCount()):
    				arcpy.AddReturnMessage(i)
    			arcpy.AddMessage("+++++++++\n")
    	
    		else:
    			print("Running Pre-Requisite Check...\n")
    			arcpy.UpgradeGDB_management(input_workspace=Connection_File_Name_full_path, input_prerequisite_check="PREREQUISITE_CHECK", input_upgradegdb_check="NO_UPGRADE")
    			for i in range(arcpy.GetMessageCount()):
    				arcpy.AddReturnMessage(i)
    			arcpy.AddMessage("+++++++++\n")
    		
    	        
    	except:
    		for i in range(arcpy.GetMessageCount()):
    			arcpy.AddReturnMessage(i)
    		
    	if os.path.exists(Connection_File_Name_full_path):
    		os.remove(Connection_File_Name_full_path)
    	
    #Check if no value entered for option	
    except SystemExit as e:
    	if e.code == 2:
    		parser.usage = ""
    		print("\n")
    		parser.print_help()
    		parser.exit(2)
    
    Par exemple, si vous avez enregistré le fichier texte sous le nom gdbupgrade et que votre base de données cataloguée est mydbgdb, saisissez les informations suivantes à l'invite de commande :

    gdbupgrade --DBMS DB2ZOS -i mydbgdb --auth DATABASE_AUTH -u sde -p mysdepassword --upgrade TRUE

ArcGIS Desktop

  • Accueil
  • Documentation
  • Support

ArcGIS Platform

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

A propos d'Esri

  • A propos de la société
  • Carrières
  • Blog d’Esri
  • Conférence des utilisateurs
  • Sommet des développeurs
Esri
Donnez-nous votre avis.
Copyright © 2019 Esri. | Confidentialité | Légal