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

Crear una geodatabase corporativa

  • Resumen
  • Uso
  • Sintaxis
  • Muestra de código
  • Entornos
  • Información sobre licencias

Resumen

La herramienta Crear geodatabase corporativa crea una base de datos, ubicaciones de almacenamiento y un usuario de bases de datos para que actúe como administrador y propietario de la geodatabase. La funcionalidad varía según el sistema de administración de bases de datos que se utilice. La herramienta concede los privilegios de administrador de geodatabase necesarios para crear una geodatabase y, a continuación, crea una geodatabase en la base de datos.

Uso

  • La siguiente tabla indica qué puede hacer la herramienta para cada tipo de sistema de administración de bases de datos (DBMS):

    FunciónDBMS

    Crea una base de datos

    PostgreSQL y Microsoft SQL Server

    Crea un espacio de tabla

    Oracle

    Crea un usuario administrador de geodatabase en la base de datos

    Oracle, PostgreSQL y SQL Server

    Tenga en cuenta que la herramienta solo crea un usuario en SQL Server si crea una geodatabase sde-schema.

    Otorga al administrador de geodatabase los privilegios requeridos para crear una geodatabase, actualizar una geodatabase y anular conexiones de base de datos

    Oracle y PostgreSQL

    Otorga al administrador de geodatabase los privilegios requeridos para crear una geodatabase y anular las conexiones de base de datos

    SQL Server (si está creando una geodatabase de esquema sde)

    Otorga al administrador de geodatabase los permisos necesarios para importar datos utilizando Oracle Data Pump

    Oracle 12c

    Crea una geodatabase en la base de datos específica

    Oracle, PostgreSQL y SQL Server

  • Debe tener ArcGIS Desktop (Standard o Advanced), ArcGIS Engine Runtime con la extensión Geodatabase Update o ArcGIS Server instalado en el equipo desde el que creará la geodatabase. Si está usando Oracle o SQL Server, también debe instalar y configurar un cliente del sistema de administración de bases de datos en el equipo donde está instalado el cliente de ArcGIS.

  • Debe configurar la biblioteca st_geometry antes de crear una geodatabase en Oracle. Consulte Crear una geodatabase en Oracle para obtener más información.

  • Debe colocar la biblioteca st_geometry en el servidor PostgreSQL antes de crear una geodatabase en PostgreSQL. Consulte Crear una geodatabase en PostgreSQL en Linux o Crear una geodatabase en PostgreSQL en Windows para obtener más información.

  • Esta herramienta no es compatible con Amazon Relational Database Service for PostgreSQL, Amazon Relational Database Service for SQL Server ni Microsoft Azure SQL Database.

  • Una vez que se haya creado la geodatabase, no podrá cambiar el nombre de la base de datos en la que está almacenada. El nombre de la base de datos está almacenado en las tablas del sistema de geodatabase y se utiliza para cualificar totalmente los nombres de tablas y clases de entidades. Por consiguiente, si se cambia el nombre de la base de datos utilizando herramientas de bases de datos, no se podrá acceder a los datos de la geodatabase.

Sintaxis

CreateEnterpriseGeodatabase_management (database_platform, instance_name, {database_name}, {account_authentication}, {database_admin}, {database_admin_password}, {sde_schema}, {gdb_admin_name}, {gdb_admin_password}, {tablespace_name}, authorization_file)
ParámetroExplicaciónTipo de datos
database_platform

Especificar el tipo de sistema de administración de bases de datos al cual se conectará para crear una geodatabase.

  • Oracle —Indica que está conectado a una instancia Oracle
  • PostgreSQL —Indica que está conectado a un clúster de base de datos PostgreSQL
  • SQL_Server —Indica que está conectado a una instancia Microsoft SQL Server
String
instance_name

Para SQL Server, escriba el nombre de la instancia de SQL Server. Tenga en cuenta que no se admiten instancias de SQL Server de intercalación binaria o que distingan entre mayúsculas y minúsculas.

Para Oracle, escriba el nombre de TNS o la cadena de caracteres de Oracle Easy Connection.

Para PostgreSQL, escriba el nombre del servidor donde se instaló PostgreSQL.

String
database_name
(Opcional)

Este parámetro es válido solo para PostgreSQL y SQL Server. Puede escribir el nombre de una base de datos existente, configurada previamente o el nombre de una base de datos que creará la herramienta.

Si permite que la herramienta cree la base de datos en SQL Server, los tamaños de archivo serán los mismos que ha definido para la base de datos de modelo SQL Server o 500 MB para el archivo MDF y 125 MB para el archivo LDF, lo que sea mayor. Tanto los archivos MDF como LDF se crean en la ubicación predeterminada de SQL Server en el servidor de base de datos.

Si permite que la herramienta cree la base de datos en PostgreSQL, la base de datos template1 se utilizará como plantilla para la base de datos. Utilice caracteres en minúsculas para el nombre de la base de datos. Incluso aunque no escriba en minúsculas, la herramienta lo convertirá a minúsculas.

String
account_authentication
(Opcional)

Especifique el tipo de autorización que se debe utilizar para la conexión de base de datos.

  • OPERATING_SYSTEM_AUTH —La información de inicio de sesión que proporcionó para el equipo desde el que está ejecutando la herramienta se utilizará para autenticar la conexión de base de datos. Si el DBMS no está configurado para permitir la autenticación del sistema operativo, la autenticación fallará.
  • DATABASE_AUTH —Para autenticarse en la base de datos, debe proporcionar un nombre de usuario y contraseña en la base de datos. Este es el método predeterminado de autenticación. Si el DBMS no está configurado para permitir la autenticación de la base de datos, la autenticación fallará.
Boolean
database_admin
(Opcional)

Si utiliza la autenticación de la base de datos, especifique un usuario administrador de base de datos. Para Oracle, utilice el usuario sys. Para PostgreSQL, especifique un usuario con estado de superusuario. Para SQL Server, especifique cualquier miembro del rol de servidor fijo sysadmin.

String
database_admin_password
(Opcional)

Si utiliza la autenticación de la base de datos, escriba la contraseña para el administrador de base de datos.

Encrypted String
sde_schema
(Opcional)

Este parámetro solo es importante para SQL Server e indica si la geodatabase se va a crear en el esquema de un usuario llamado sde o en el esquema dbo en la base de datos. Si va a crear una geodatabase con esquema dbo, debe conectarse como un usuario dbo en la instancia SQL Server.

  • SDE_SCHEMA —Un usuario llamado sde es propietario del repositorio de la geodatabase y se almacena en su esquema. Esta es la opción predeterminada.
  • DBO_SCHEMA —El repositorio de la geodatabase se almacena en el esquema dbo en la base de datos.
Boolean
gdb_admin_name
(Opcional)

Si utiliza PostgreSQL, este valor debe ser sde. Si el rol de inicio de sesión sde no existe, esta herramienta lo crea y le asigna el estado de superusuario en el clúster de la base de datos. Si el rol de inicio de sesión sde existe, esta herramienta le asigna el estado de superusuario en el caso de que aún no lo tenga. La herramienta también crea un esquema sde en la base de datos y otorga el uso del esquema al público.

Si utiliza Oracle, el valor predeterminado es sde. Si desea crear una geodatabase del esquema de usuario dentro de una geodatabase maestra sde existente, especifique el nombre del usuario que será el propietario de la nueva geodatabase. Si el usuario sde u otro usuario no existe en el DBMS, la herramienta Crear geodatabase corporativa crea el usuario y le otorga los privilegios necesarios para crear y actualizar una geodatabase y anular conexiones de usuario al DBMS. Si ejecuta esta herramienta en una base de datos de Oracle 12c, la herramienta también otorga privilegios para permitir las importaciones de datos utilizando Oracle Data Pump. Si el usuario especificado ya existe, la herramienta otorgará al usuario los mismos privilegios.

Si utiliza SQL Server y especificó una geodatabase del esquema sde, este valor debe ser sde. La herramienta creará un inicio de sesión sde, un usuario de base de datos y un esquema, y le otorgará privilegios para crear una geodatabase y anular las conexiones a la instancia de SQL Server. Si especificó un esquema dbo, no proporcione un valor para este parámetro.

String
gdb_admin_password
(Opcional)

Escriba la contraseña para el usuario administrador de la geodatabase. Si ya existe el usuario administrador en la geodatabase en DBMS, la contraseña que escriba debe coincidir con la contraseña existente. Si el usuario administrador de la geodatabase no existe, escriba una contraseña válida de base de datos para el nuevo usuario. La contraseña debe cumplir la política de contraseña del DBMS.

La contraseña es una cadena de caracteres cifrados.

Encrypted String
tablespace_name
(Opcional)

Este parámetro es válido solo para tipos de DMBS Oracle y PostgreSQL. Para Oracle, realice una de las siguientes acciones:

  • Proporcione el nombre de un espacio de tabla existente. Este espacio de tabla se utilizará como espacio de tabla predeterminado para el usuario administrador de la geodatabase.
  • Escriba un nombre válido para el nuevo espacio de tabla. La herramienta creará un espacio de tabla de 400 MB en la ubicación de almacenamiento predeterminada de Oracle que se establecerá como espacio de tabla predeterminado del administrador de la geodatabase.
  • Si deja e espacio de tabla en blanco, la herramienta creará un espacio de tabla de 400 MB llamado SDE_TBS en la ubicación de almacenamiento predeterminada de Oracle. El espacio de tabla SDE_TBS se establecerá como espacio de tabla predeterminado del administrador de la geodatabase.

Esta herramienta no crea un espacio de tabla en PostgreSQL. Debe proporcionar el nombre de un espacio de tabla existente que se utilizará como espacio de tabla predeterminado para la base de datos o dejar este parámetro en blanco. Si deja en blanco el parámetro, la herramienta creará una base de datos en el espacio de tabla pg_default.

String
authorization_file

Proporcione la ruta y el nombre del archivo de códigos clave que se creó cuando autorizó ArcGIS Server. Este archivo se encuentra en la carpeta \\Program Files\ESRI\License<release#>\sysgen en Windows o en el directorio /arcgis/server/framework/runtime/.wine/drive_c/Program Files/ESRI/License<release#>/sysgen en Linux. Si aún no lo hizo, autorice ArcGIS Server para crear este archivo.

Probablemente tendrá que copiar el archivo de códigos clave desde el equipo de ArcGIS Server en una ubicación a la que pueda acceder la herramienta.

File

Salida derivada

NombreExplicaciónTipo de datos
out_result

Muestra de código

Ejemplo 1 de CreateGeodatabase

El siguiente script crea una geodatabase en una base de datos de Oracle. Crear un usuario sde y un espacio de tabla predeterminados, sdetbs para el usuario sde. El archivo de códigos clave se encuentra en un servidor Linux remoto.

#Import arcpy module
import arcpy
arcpy.CreateEnterpriseGeodatabase_management("ORACLE", "ora11g:1521/elf", "", "DATABASE_AUTH", "sys", "manager", "", "sde", "supersecret", "sdetbs", 
                                             "//myserver/mymounteddrive/myaccessibledirectory/keycodes")
Ejemplo 2 de CreateGeodatabase

Esta script se conecta a la instancia de SQL Server (tor\ssinstance) para crear una base de datos llamada sp_data y una geodatabase con esquema sde en ella. La conexión se realiza al utilizar la autenticación del sistema operativo. El archivo de códigos clave se encuentra en un servidor de Windows remoto.

#Import arcpy module
import arcpy
arcpy.CreateEnterpriseGeodatabase_management("SQL_SERVER", "tor\ssinstance1", "sp_data", "OPERATING_SYSTEM_AUTH", "", "", "SDE_SCHEMA", "sde", "sde", 
                                             "", "//myserver/myaccessibledirectory/keycodes")
Ejemplo 3 de CreateGeodatabase

Este script conecta a un clúster de la base de datos de PostgreSQL en un servidor llamado feldspar. Se creó el usuario sde como una base de datos, pggdb en el espacio de tabla existente, gdbspace. El archivo de códigos clave se encuentra en el servidor Linux local.

#Import arcpy module import arcpy
arcpy.CreateEnterpriseGeodatabase_management("POSTGRESQL", "feldspar", "pggdb", "DATABASE_AUTH", "postgres", "averturis", "", "sde", "nomira", "gdbspace", 
                                             "//arcgis/server/framework/runtime/.wine/drive_c/Program Files/ESRI/License/sysgen/keycodes")
Ejemplo 4 de CreateGeodatabase (script independiente)

El siguiente script independiente de Python le permite proporcionar la información específica de su sitio utilizando las opciones.

"""
Name: create_enterprise_gdb.py
Description: Provide connection information to a DBMS instance and create an enterprise geodatabase.
Type  create_enterprise_gdb.py -h or create_enterprise_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 1.0 for " + arcpy.GetInstallInfo()['Version'] )

#Define help and options
parser.add_option ("--DBMS", dest="Database_type", type="choice", choices=['SQLSERVER', 'ORACLE', 'POSTGRESQL', ''], 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 ("-D", dest="Database", type="string", default="none", help="Database name:  Do not specify for Oracle")
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="Dbms_admin", type="string", default="", help="DBMS administrator user")
parser.add_option ("-P", dest="Dbms_admin_pwd", type="string", default="", help="DBMS administrator password")
parser.add_option ("--schema", dest="Schema_type", type="choice", choices=['SDE_SCHEMA', 'DBO_SCHEMA'], default="SDE_SCHEMA", help="Schema type  applies to geodatabases in SQL Server only. Type SDE_SCHEMA to create geodatabase in SDE schema or type DBO_SCHEMA to create geodatabase in DBO schema. Default=SDE_SCHEMA")
parser.add_option ("-u", dest="Gdb_admin", type="string", default="", help="Geodatabase administrator user name; Must always be sde for PostgreSQL, sde-schema geodatabases in SQL Server, and master sde geodatabase in Oracle")
parser.add_option ("-p", dest="Gdb_admin_pwd", type="string", default="", help="Geodatabase administrator password")
parser.add_option ("-t", dest="Tablespace", type="string", default="", help="Tablespace name; For PostgreSQL, type name of existing tablespace in which to store database. If no tablespace name specified, pg_default is used. For Oracle, type name of existing tablespace, or, if tablespace with specified name does not exist, it will be created and set as the default tablespace for the sde user. If no tablespace name is specified, SDE_TBS tablespace is created and set as sde user default. Tablespace name not supported for SQL Server.")
parser.add_option ("-l", dest="Authorization_file", type="string", default="", help="Full path and name of authorization file; file created when ArcGIS Server Enterprise authorized, and stored in \\Program Files\ESRI\License<release#>\sysgen on Windows or /arcgis/server/framework/runtime/.wine/drive_c/Program Files/ESRI/License<release#>/sysgen on Linux")
# 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
	database_type = options.Database_type.upper()
	instance = options.Instance
	database = options.Database.lower()	
	account_authentication = options.Account_authentication.upper()
	dbms_admin = options.Dbms_admin
	dbms_admin_pwd = options.Dbms_admin_pwd
	schema_type = options.Schema_type.upper()
	gdb_admin = options.Gdb_admin
	gdb_admin_pwd = options.Gdb_admin_pwd	
	tablespace = options.Tablespace
	license = options.Authorization_file
	
	
	if (database_type == "SQLSERVER"):
		database_type = "SQL_SERVER"
	
	if( database_type ==""):	
		print(" \n%s: error: \n%s\n" % (sys.argv[0], "DBMS type (--DBMS) must be specified."))
		parser.print_help()
		sys.exit(3)		
		
	if (license == ""):
		print(" \n%s: error: \n%s\n" % (sys.argv[0], "Authorization file (-l) must be specified."))
		parser.print_help()
		sys.exit(3)			
	
	if(database_type == "SQL_SERVER"):
		if(schema_type == "SDE_SCHEMA" and gdb_admin.lower() != "sde"):
			print("\n%s: error: %s\n" % (sys.argv[0], "To create SDE schema on SQL Server, geodatabase administrator must be SDE."))
			sys.exit(3)
		if (schema_type == "DBO_SCHEMA" and gdb_admin != ""):
			print("\nWarning: %s\n" % ("Ignoring geodatabase administrator specified when creating DBO schema..."))
		if( account_authentication == "DATABASE_AUTH" and dbms_admin == ""):
			print("\n%s: error: %s\n" % (sys.argv[0], "DBMS administrator must be specified with database authentication"))
			sys.exit(3)
		if( account_authentication == "OPERATING_SYSTEM_AUTH" and dbms_admin != ""):
			print("\nWarning: %s\n" % ("Ignoring DBMS administrator specified when using operating system authentication..."))
	else:
		if (schema_type == "DBO_SCHEMA"):
			print("\nWarning: %s %s, %s\n" % ("Only SDE schema is supported on", database_type, "switching to SDE schema..." ))
			
		if( gdb_admin.lower() == ""):
			print("\n%s: error: %s\n" % (sys.argv[0], "Geodatabase administrator must be specified."))
			sys.exit(3)

		if( gdb_admin.lower() != "sde"):
			if (database_type == "ORACLE"):
				print("\nGeodatabase admin user is not SDE, creating user schema geodatabase on Oracle...\n")
			else:
				print("\n%s: error: %s for %s.\n" % (sys.argv[0], "Geodatabase administrator must be SDE", database_type))
				sys.exit(3)
			
		if( dbms_admin == ""):
			print("\n%s: error: %s\n" % (sys.argv[0], "DBMS administrator must be specified!"))
			sys.exit(3)

		if (account_authentication == "OPERATING_SYSTEM_AUTH"):
			print("Warning: %s %s, %s\n" % ("Only database authentication is supported on", database_type, "switching to database authentication..." ))

	# Get the current product license
	product_license=arcpy.ProductInfo()
	
	
	# Checks required license level
	if product_license.upper() == "ARCVIEW" or product_license.upper() == 'ENGINE':
		print("\n" + product_license + " license found!" + " Creating an enterprise geodatabase requires an ArcGIS Desktop Standard or Advanced, ArcGIS Engine with the Geodatabase Update extension, or ArcGIS Server license.")
		sys.exit("Re-authorize ArcGIS before creating enterprise geodatabase.")
	else:
		print("\n" + product_license + " license available!  Continuing to create...")
		arcpy.AddMessage("+++++++++")
	
	
	try:
		print("Creating enterprise geodatabase...\n")
		arcpy.CreateEnterpriseGeodatabase_management(database_platform=database_type,instance_name=instance, database_name=database, account_authentication=account_authentication, database_admin=dbms_admin, database_admin_password=dbms_admin_pwd, sde_schema=schema_type, gdb_admin_name=gdb_admin, gdb_admin_password=gdb_admin_pwd, tablespace_name=tablespace, authorization_file=license)
		for i in range(arcpy.GetMessageCount()):
			arcpy.AddReturnMessage(i)
		arcpy.AddMessage("+++++++++\n")
	except:
		for i in range(arcpy.GetMessageCount()):
			arcpy.AddReturnMessage(i)
			
#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)

Entornos

Esta herramienta no utiliza ningún entorno de geoprocesamiento.

Información sobre licencias

  • ArcGIS Desktop Basic: No
  • ArcGIS Desktop Standard: Sí
  • ArcGIS Desktop Advanced: Sí

Temas relacionados

  • Crear una geodatabase en Oracle
  • Crear una geodatabase en PostgreSQL en Linux
  • Crear una geodatabase en PostgreSQL en Windows
  • Crear una geodatabase corporativa en SQL Server
  • Descripción general del conjunto de herramientas Administración de geodatabase

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