ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Справка
  • Sign Out
ArcGIS Desktop

ArcGIS Online

Картографическая платформа вашей организации

ArcGIS Desktop

Полноценная профессиональная ГИС

ArcGIS Enterprise

ГИС предприятия

ArcGIS for Developers

Инструменты для встраивания приложений с местоположениями

ArcGIS Solutions

Бесплатные шаблоны карт и приложений для отрасли

ArcGIS Marketplace

Получение приложения и данных для вашей организации.

  • Документация
  • Поддержка
Esri
  • Войти
user
  • Мой профиль
  • Выход

ArcMap

  • На главную
  • Начало работы
  • Карта
  • Анализ
  • Управление данными
  • Инструменты
  • Дополнительные модули

Создать многопользовательскую базу геоданных

  • Краткая информация
  • Использование
  • Синтаксис
  • Пример кода
  • Параметры среды
  • Информация о лицензиях

Краткая информация

Инструмент Создать многопользовательскую базу геоданных создает базу данных, хранилища и пользователя, обладающего правами администратора и владельца базы геоданных. Функциональные возможности базы геоданных зависят от используемой СУБД. Инструмент предоставляет администратору базы геоданных права, необходимые для создания базы геоданных, а затем создает базу геоданных в базе данных.

Использование

  • В следующей таблице описано, что данный инструмент может делать для каждого типа системы управления базами данных (СУБД):

    ФункцияСУБД

    Создает базу данных

    PostgreSQL и Microsoft SQL Server

    Создает табличное пространство

    Oracle

    Создает администратора базы геоданных в базе данных

    Oracle, PostgreSQL и SQL Server

    Помните, что инструмент создает пользователя в SQL Server, только если вы создаете базу геоданных со схемой sde.

    Предоставляет администратору базы геоданных права, необходимые для создания базы геоданных, обновления базы геоданных и сброса подключений к базе данных.

    Oracle и PostgreSQL

    Предоставляет администратору базы геоданных права, необходимые для создания базы геоданных и сброса подключений к базе данных.

    SQL Server (при создании базы геоданных с sde-схемой)

    Предоставляет администратору права доступа, необходимые для импорта данных с помощью Oracle Data Pump

    Oracle 12c

    Создает базу геоданных в указанной базе данных

    Oracle, PostgreSQL и SQL Server

  • На компьютере, где вы хотите создать базу геоданных, должна быть установлена текущая версия ArcGIS Desktop (Standard или Advanced), ArcGIS Engine Runtime с дополнительным модулем Geodatabase Update или ArcGIS Server. Если вы используете Oracle или SQL Server, то вам также необходимо установить и настроить клиент СУБД на компьютере, где установлен клиент ArcGIS.

  • Необходимо настроить библиотеку st_geometry прежде чем приступить к созданию базы геоданных в Oracle. Подробнее см. в разделе Создание базы геоданных в Oracle.

  • Перед созданием базы геоданных в PostgreSQL необходимо поместить файл библиотеки st_geometry на сервер PostgreSQL. Подробнее см. в разделах Создание базы геоданных в PostgreSQL на Linux или Создание базы геоданных в PostgreSQL на Windows.

  • Этот инструмент не поддерживается для сервиса реляционной базы данных Amazon для PostgreSQL, сервиса реляционной базы данных Amazon для SQL Server или базы данных Microsoft Azure SQL.

  • После создания базы геоданных вы не сможете переименовать базу данных, в которой она хранится. Имя базы данных хранится в системных таблицах базы геоданных и используется в полных именах таблиц и классов объектов; поэтому изменение имени базы данных с помощью ее инструментов делает данные базы геоданных недоступными.

Синтаксис

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)
ПараметрОбъяснениеТип данных
database_platform

Укажите тип СУБД, к которой вы подключаетесь для создания базы геоданных.

  • Oracle —Указывает, что вы подключаетесь к экземпляру Oracle
  • PostgreSQL —Указывает, что вы подключаетесь к кластеру базы данных PostgreSQL
  • SQL_Server —Указывает, что вы подключаетесь к экземпляру Microsoft SQL Server
String
instance_name

Для SQL Server укажите имя экземпляра SQL Server. Примите к сведению, что чувствительные к регистру экземпляры SQL Server, а также экземпляры с двойным сравнением не поддерживаются.

Для Oracle укажите имя TNS или строку подключения Oracle Easy.

Для PostgreSQL – Введите имя сервера, где установлен PostgreSQL.

String
database_name
(Дополнительный)

Этот параметр действителен для PostgreSQL и SQL Server. Вы можете либо ввести имя существующей предварительно настроенной базы данных, либо имя базы данных, которую создаст инструмент.

Если инструмент создает базу данных на сервере SQL Server, размеры файлов либо будут совпадать с заданными вами размерами для базы данных моделей SQL Server, либо будут равны 500 Мб для файла MDF и 125 Мб для файла LDF, в зависимости от того, какой из размеров больше. Файлы MDF и LDF создаются в расположении SQL Server по умолчанию на сервере базы данных.

Если вы разрешаете инструменту создать базу данных в PostgreSQL, база данных template1 будет использоваться в качестве шаблона для вашей базы данных. Имя базы данных задается символами нижнего регистра. Даже если вы не используете символы нижнего регистра, инструмент конвертирует их в нижний регистр.

String
account_authentication
(Дополнительный)

Укажите тип аутентификации для подключения к базе данных.

  • OPERATING_SYSTEM_AUTH —Сведения о входе в систему, предоставленные для компьютера, на котором запускается инструмент, будут использоваться для аутентификации подключения к базе данных. Если ваша СУБД не настроена для использования аутентификации операционной системы, аутентификация завершится с ошибкой.
  • DATABASE_AUTH —Необходимо указать имя пользователя и пароль базы данных для аутентификации в базе данных. Это метод аутентификации, используемый по умолчанию. Если ваша СУБД не настроена для аутентификации в базе данных, аутентификация завершится с ошибкой.
Boolean
database_admin
(Дополнительный)

Если вы используете аутентификацию в базе данных, укажите администратора базы данных. В Oracle используйте пользователя sys. Для PostgreSQL укажите пользователя со статусом superuser. Для SQL Server укажите любого пользователя фиксированной серверной роли sysadmin.

String
database_admin_password
(Дополнительный)

Если вы используете аутентификацию в базе данных, введите пароль администратора базы данных.

Encrypted String
sde_schema
(Дополнительный)

Этот параметр относится только к SQL Server и указывает, создается ли база геоданных в схеме пользователя sde или в схеме dbo базы данных. При создании базы геоданных по схеме dbo, подключитесь как пользователь dbo в экземпляре SQL Server.

  • SDE_SCHEMA —Репозиторий базы геоданных принадлежит пользователю sde и хранится в схеме этого пользователя. Используется по умолчанию.
  • DBO_SCHEMA —Репозиторий базы геоданных хранится в схеме dbo базы геоданных.
Boolean
gdb_admin_name
(Дополнительный)

При использовании PostgreSQL это значение должно быть sde. Если роль учетной записи sde не существует, этот инструмент создает ее и предоставляет ей статус superuser в кластере базы данных. Если учетная запись sde существует, этот инструмент предоставляет для этой роли статус superuser, если он ей еще не предоставлен. Инструмент также создает в базе данных схему sde и предоставляет к ней права usage для всех.

Если вы используете Oracle, значение по умолчанию sde. Если вы хотите создать базу геоданных в пользовательской схеме в имеющейся главной базе геоданных sde, укажите имя пользователя, которому будет принадлежать новая база геоданных. Если sde или другой пользователь отсутствует в СУБД, инструмент Создать многопользовательскую базу геоданных создает пользователя и предоставляет ему права, необходимые для создания и обновления базы геоданных, а также для отмены подключений пользователей к СУБД. Если вы запускаете этот инструмент в базе данных Oracle 12c, он также предоставляет права доступа, необходимые для импорта данных с помощью Oracle Data Pump. Если указанный пользователь уже существует, инструмент предоставит ему те же самые права.

Если вы используете SQL Server и выбрали базу геоданных с sde-схемой, это значение должно быть sde. Инструмент создает учетную запись sde, пользователя базы данных и схему, после чего наделяет ее правами для создания базы геоданных и удаления подключений к экземпляру SQL Server. Если указана схема dbo, не задавайте значение этого параметра.

String
gdb_admin_password
(Дополнительный)

Укажите пароль администратора базы геоданных. Если администратор базы геоданных уже существует в СУБД, введенный пароль должен совпадать с существующим паролем. Если администратор базы геоданных не существует, введите допустимый пароль базы данных для нового пользователя. Пароль должен соответствовать требованиям парольной политики СУБД.

Пароль – это зашифрованная строка.

Encrypted String
tablespace_name
(Дополнительный)

Этот параметр действителен только для Oracle и PostgreSQL. Для Oracle проделайте следующее:

  • Укажите имя имеющегося табличного пространства. Это табличное пространство будет по умолчанию использоваться для администратора базы геоданных.
  • Введите имя нового табличного пространства. Инструмент создает табличное пространство емкостью 400 МБ в Oracle, в местоположении по умолчанию, и задает его как табличное пространство по умолчанию для администратора базы геоданных.
  • Оставьте поле табличного пространства пустым, и инструмент создаст пространство SDE_TBS емкостью 400 МБ в Oracle, в местоположении по умолчанию. Табличное пространство SDE_TBS будет использоваться как пространство администратора базы геоданных по умолчанию.

Этот инструмент не создает табличное пространство в PostgreSQL. Необходимо либо ввести имя существующего табличного пространства, которое будет использоваться как пространство базы данных по умолчанию, либо оставить это поле пустым. Если не указать значение этого параметра, инструмент создаст базу данных в табличном пространстве pg_default.

String
authorization_file

Укажите путь и имя файла кодов, созданного при авторизации ArcGIS Server. Этот файл расположен в папке \\Program Files\ESRI\License<release#>\sysgen в Windows, или в папке /arcgis/server/framework/runtime/.wine/drive_c/Program Files/ESRI/License<release#>/sysgen в Linux. Если данная процедура еще не выполнена, авторизуйте ArcGIS Server для создания этого файла.

Может потребоваться скопировать файл с ключами с компьютера ArcGIS Server в директорию, к которой есть доступ у инструмента геообработки.

File

Производные выходные данные

NameОбъяснениеТип данных
out_result

Пример кода

CreateGeodatabase, пример 1

Следующий скрипт создает базу геоданных в базе данных Oracle. Он также создает пользователя sde и табличное пространство по умолчанию (sdetbs) для этого пользователя. Файл ключей расположен на удаленном сервере Linux.

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

Этот скрипт подключается к экземпляру SQL Server (tor\ssinstance) для создания базы данных sp_data и базы геоданных со схемой sde в этой базе данных. Для подключения используется аутентификация средствами операционной системы. Файл ключей расположен на удаленном сервере Windows.

#Import arcpy module
import arcpy
arcpy.CreateEnterpriseGeodatabase_management("SQL_SERVER", "tor\ssinstance1", "sp_data", "OPERATING_SYSTEM_AUTH", "", "", "SDE_SCHEMA", "sde", "sde", 
                                             "", "//myserver/myaccessibledirectory/keycodes")
CreateGeodatabase, пример 3

Этот скрипт подключается к кластеру базы данных PostgreSQL на сервере feldspar. Пользователь sde создается для базы данных pggdb в существующем табличном пространстве gdbspace. Файл ключей расположен на локальном сервере Linux.

#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")
CreateGeodatabase, пример 4 (автономный скрипт)

Приведенный автономный скрипт Python позволит вам ввести необходимую для вашего сайта информацию с помощью опций.

"""
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)

Параметры среды

Этот инструмент не использует параметры среды геообработки

Информация о лицензиях

  • ArcGIS Desktop Basic: Нет
  • ArcGIS Desktop Standard: Да
  • ArcGIS Desktop Advanced: Да

Связанные разделы

  • Создание базы геоданных в Oracle
  • Создание базы геоданных в PostgreSQL на Linux
  • Создание базы геоданных в PostgreSQL на Windows
  • Создать многопользовательскую базу геоданных SQL Server
  • Обзор группы инструментов Администрирование базы геоданных

ArcGIS Desktop

  • На главную
  • Документация
  • Поддержка

ArcGIS Platform

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

Об Esri

  • О нас
  • Карьера
  • Блог Esri
  • Конференция пользователей
  • Саммит разработчиков
Esri
Расскажите нам, что вы думаете.
Copyright © 2019 Esri. | Конфиденциальность | Правовая информация