ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Ayuda
  • Sign Out
ArcGIS Desktop

ArcGIS Online

La plataforma de representación cartográfica para tu organización

ArcGIS Desktop

Un completo SIG profesional

ArcGIS Enterprise

SIG en tu empresa

ArcGIS for Developers

Herramientas para crear aplicaciones basadas en la ubicación

ArcGIS Solutions

Plantillas de aplicaciones y mapas gratuitas para tu sector

ArcGIS Marketplace

Obtén aplicaciones y datos para tu organización.

  • Documentación
  • Soporte
Esri
  • Iniciar sesión
user
  • Mi perfil
  • Cerrar sesión

ArcMap

  • Inicio
  • Introducción
  • Cartografiar
  • Analizar
  • Administrar datos
  • Herramientas
  • Extensiones

Actualizar una geodatabase en Db2 en z/OS

Disponible con una licencia Standard o Advanced.

  • Antes de actualizar
  • Actualizar la geodatabase

El objetivo de actualizar una geodatabase corporativa es actualizar las tablas del sistema de geodatabase, los procedimientos almacenados, los tipos y las funciones para aprovechar las funcionalidades y correcciones de errores nuevas.

Instale una nueva versión del cliente de ArcGIS o aplique un service pack, parche o corrección urgente a la instalación existente y actualice la geodatabase.

Sugerencia:

Este tema está relacionado con las geodatabases en IBM Db2 en un sistema operativo z. Para una geodatabase en Db2 en Linux, Unix o Microsoft Windows, consulte Actualizar una geodatabase en Db2.

Complete los pasos necesarios antes de la actualización y, a continuación, actualice su geodatabase utilizando la herramienta de geoprocesamiento Actualizar geodatabase o un script de Python.

Antes de actualizar

Cuando actualice un sistema corporativo, incluida una geodatabase, planifique de antemano. Pruebe la versión nueva en un servidor de desarrollo o de prueba para asegurarse de que funciona con todas las aplicaciones cliente.

Cuando haya determinado que el sistema nuevo funciona como se espera, programe la actualización; asegúrese de que el personal necesario esté disponible para realizar la actualización y cuente con los permisos necesarios para completar las tareas asignadas.

Tenga en cuenta lo siguiente:

  • Las actualizaciones desde las versiones beta del software no están admitidas.
  • Puede actualizar directamente desde una geodatabase 10.2.x, 10.3.x, 10.4.x, 10.5.x, 10.6.x o 10.7 si la base de datos tiene una versión compatible.
  • No existe un método estándar para volver a una versión anterior de la geodatabase. Si desea volver a la versión anterior de una geodatabase después de actualizarla a una versión más actualizada, deberá restaurar la base de datos anterior desde un archivo de copia de seguridad.
  • Si pretende actualizar una geodatabase 10.4.1 o anterior, elimine todos los localizadores de la geodatabase antes de realizar la actualización.

A continuación se ofrece la lista de pasos que debe realizar antes de actualizar la geodatabase:

  1. Consulte Requisitos de base de datos de IBM Db2 para ArcGIS 10.7.1 para confirmar que Esri admite la combinación de versiones de Db2 z/OS y ArcGIS que desea usar.

    La base de datos debe tener una versión compatible y el hardware debe cumplir con al menos los requisitos mínimos del sistema antes de actualizar la geodatabase.

  2. Compruebe si su geodatabase se puede actualizar. Para esto, instale la versión del cliente de ArcGIS a la que desee actualizar. Si instala ArcMap, puede conectarse a una geodatabase y abrir el cuadro de diálogo Propiedades de base de datos para saber si es posible actualizar una geodatabase. Si instala ArcGIS Server (enterprise edition) o la extensión ArcGIS Engine Geodatabase Update, puede utilizar la función Describe de ArcPy para determinar si se puede actualizar la geodatabase.
    # 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 aparece el texto false, puede actualizar la geodatabase. Si aparece el texto true, no necesita actualizar la geodatabase. No continúe con los siguientes pasos.

  3. Realice una copia de seguridad del subsistema que comprende la geodatabase.
  4. Otorgue al usuario sde autoridad BINDADD, CREATE ON COLLECTION SDE y DBADM en la base de datos. Es necesario para realizar la actualización.
  5. Elimine cualquier funcionalidad personalizada que pueda haber agregado a las tablas del sistema de la geodatabase fuera de ArcGIS, como desencadenadores o índices adicionales.

    El procedimiento de actualización no admite las personalizaciones que realiza en las tablas del sistema. Si tales personalizaciones previenen la alteración de un esquema de una tabla del sistema, la actualización fallará.

  6. En este punto, es posible que desee crear una segunda copia de seguridad del subsistema para preservar los cambios que realizó en los pasos anteriores.
  7. Instale la versión actual de un cliente de ArcGIS (ArcMap Desktop Standard o Desktop Advanced o ArcGIS Server) en un equipo que pueda conectarse a la geodatabase para realizar la actualización.
  8. Asegúrese de que no haya conexiones a la geodatabase que está actualizando.

    Para ver una lista de los usuarios que están conectados actualmente a su geodatabase, abra la pestaña Conexiones del cuadro de diálogo Administración de geodatabase en ArcMap.

  9. La instalación del cliente de ArcGIS introduce una secuencia de comandos ESRIUDFB JCL en <ArcGIS client installation directory>\DatabaseSupport\DB2zOS. Utilizará este archivo en el próximo paso.

A continuación, puede actualizar la geodatabase.

Actualizar la geodatabase

Puede utilizar la herramienta Actualizar geodatabase de ArcMap o una secuencia de comandos de Python que se ejecute en el equipo cliente de ArcGIS para actualizar la geodatabase.

Utilizar la herramienta Actualizar geodatabase

Puede abrir Actualizar geodatabase desde el cuadro de diálogo Propiedades de base de datos en ArcMap haciendo clic en el botón Actualizar geodatabase de la pestaña General o abrir la herramienta directamente. Si abre la herramienta desde Propiedades de base de datos, el cuadro de texto Geodatabase de entrada ya cuenta con la información de conexión de la geodatabase.

Esri recomienda que deje las opciones Comprobación de requisitos previos y Actualizar geodatabase activadas. De esta manera, la herramienta comprueba si los requisitos previos de la actualización se cumplieron antes de continuar con la actualización de la geodatabase.

La comprobación de requisitos previos detecta otras conexiones activas en la geodatabase, determina si el usuario conectado posee los suficientes privilegios para actualizar la geodatabase, verifica que todos los datasets se pueden abrir y se asegura de que la base de datos y las bibliotecas tengan la misma versión. Si no se cumple algún requisito previo, la herramienta finaliza. Debe corregir cualquier problema antes de ejecutar el procedimiento de actualización nuevamente.

Los resultados de esta comprobación se indican en el cuadro de diálogo de la herramienta de geoprocesamiento. Si la comprobación (o actualización) falla, los resultados también se escribirán en GDBUpgrade.log, que se encuentra en c:\Users\<user name>\AppData\Local\ESRI\<ArcGIS product>.

Si se cumplen todas las comprobaciones, la herramienta procede con la actualización. El estado de la comprobación de requisitos previos y de la actualización se muestra en el cuadro de diálogo de progreso de la herramienta de geoprocesamiento. Si se produce un error durante la actualización, la información se registra en GDBUpgrade.log. Se escribe información adicional en sde_setup.log, que se encuentra en el directorio TEMP del sistema.

Ejecutar un script

Para actualizar la geodatabase, copie una de estas scripts de ejemplo en un editor de texto. Modifique cualquier valor de variable para que coincidan con la información del sitio.

  • Si tiene un archivo de conexión de base de datos existente que se conecta como usuario sde, copie el script que se aplica en el sistema operativo del cliente, péguela en un editor de texto, modifíquela para que utilice la información específica de su sitio, guarde y cierre el archivo y, a continuación, ejecútelo:
    # 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 no tiene un archivo de conexión de base de datos en el equipo desde el cual programa la actualización, puede copiar la siguiente script y proporcionar información específica de su sitio en la línea de comandos:
    """
    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)
    
    Por ejemplo, si guardó el archivo de texto como gdbupgrade y su base de datos catalogada es mypgdb, escriba lo siguiente en una ventana de comando:

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

ArcGIS Desktop

  • Inicio
  • Documentación
  • Soporte

Plataforma ArcGIS

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

Acerca de Esri

  • Quiénes somos
  • Empleo
  • Blog de Esri
  • Conferencia de usuarios
  • Cumbre de desarrolladores
Esri
Díganos su opinión.
Copyright © 2019 Esri. | Privacidad | Legal