ArcGIS for Desktop

  • ドキュメント
  • 価格
  • サポート

  • My Profile
  • ヘルプ
  • Sign Out
ArcGIS for Desktop

ArcGIS Online

組織のマッピング プラットフォーム

ArcGIS for Desktop

完全なプロ仕様の GIS

ArcGIS for Server

エンタープライズ GIS

ArcGIS for Developers

位置情報利用アプリの開発ツール

ArcGIS Solutions

各種業界向けの無料のテンプレート マップおよびテンプレート アプリケーション

ArcGIS Marketplace

組織で使えるアプリとデータを取得

  • ドキュメント
  • 価格
  • サポート
Esri
  • サイン イン
user
  • マイ プロフィール
  • サイン アウト

ヘルプ

  • ホーム
  • はじめに
  • マップ
  • 解析
  • データ管理
  • ツール
  • その他...

エンタープライズ ジオデータベースの作成 (Create Enterprise Geodatabase)

  • サマリ
  • 使用法
  • 構文
  • コードのサンプル
  • 環境
  • ライセンス情報

サマリ

[エンタープライズ ジオデータベースの作成 (Create Enterprise Geodatabase)] ツールは、使用するデータベース管理システム (DBMS) に応じて、データベース、格納場所、およびジオデータベースの管理者またはジオデータベースの所有者として使用するデータベース ユーザーを作成します。まずデータベース管理者にジオデータベースの作成に必要な権限を与えます。次にデータベースにジオデータベースを作成します。

使用法

  • 次の表は、各データベース管理システムにおけるツールの機能を示しています。

    機能DBMS

    データベースの作成

    PostgreSQL および Microsoft SQL Server

    表領域の作成

    Oracle

    データベースにジオデータベース管理ユーザーを作成

    Oracle、PostgreSQL、SQL Server (sde スキーマ ジオデータベースを作成する場合)

    ジオデータベースの作成、ジオデータベースのアップグレードおよびデータベース接続の切断に必要なジオデータベース管理者権限を付与します。

    Oracle および PostgreSQL

    ジオデータベースの作成およびデータベース接続の切断に必要なジオデータベース管理者権限の付与

    SQL Server (sde スキーマ ジオデータベースを作成する場合)

    指定されたデータベースにジオデータベースを作成

    Oracle、PostgreSQL、SQL Server

  • ジオデータベースを作成するコンピューターには、ArcGIS for Desktop (Standard または Advanced)、ArcGIS Engine Runtime と Geodatabase Update エクステンション、または ArcGIS for Server (Standard または Advanced) をインストールしておく必要があります。データベース オブジェクトとジオデータベースを作成するためには、直接データベースに接続できる必要があります。これには ArcGIS クライアントがインストールされているコンピューターに DBMS クライアントをインストールして構成する必要があります。

構文

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
[database_platform,...]

ジオデータベースを作成するために接続する、データベース管理システムの種類を指定します。

  • Oracle —Oracle のインスタンスに接続することを示します。
  • PostgreSQL —PostgreSQL データベース クラスターに接続することを示します。
  • SQL_Server —SQL Server のインスタンスに接続することを示します。
String
instance_name

SQL Server の場合、SQL Server のインスタンス名を指定します。大文字/小文字が区別される照合順序またはバイナリ照合順序の SQL Server インスタンスはサポートされていないことに注意してください。

Oracle の場合、TNS 名または Oracle 簡易接続文字列を指定します。

PostgreSQL の場合、PostgreSQL がインストールされているサーバー名を指定します。

String
database_name
(オプション)

このパラメーターは DBMS の種類が PostgreSQL と SQL Server である場合のみ有効です。すでに構成されている既存のデータベースの名前を入力するか、またはこれから作成するデータベースの名前を入力します。

ツールを利用して SQL Server にデータベースを作成する場合、ファイル サイズは SQL Server のモデル データベースに対して定義したのと同じサイズか、MDF ファイルの場合は 500 MB、LDF ファイルの場合は 125 MB のどちらか大きい方になります。MDF と LDF ファイルは、データベース サーバー上のデフォルトの SQL Server の場所に作成されます。

ツールを利用して PostgreSQL にデータベースを作成する場合は、テンプレート 1 のデータベースがテンプレートとして使用されます。データベース名は、小文字で PostgreSQL データベース クラスターに渡されることにご注意ください。

String
account_authentication
(オプション)

データベース接続に使用する認証の種類を指定します。

  • OPERATING_SYSTEM_AUTH —ツールを実行しているコンピューターにログインしたときに使用したログイン情報が、データベース接続の認証に使用されます。 DBMS がオペレーティング システム認証を許可する設定が行われていない場合、認証は失敗します。
  • DATABASE_AUTH —データベースの認証のために、有効なデータベース ユーザー名とパスワードを指定する必要があります。これがデフォルトの認証方法です。 DBMS がデータベース認証を許可する設定が行われていない場合、認証は失敗します。
Boolean
database_admin
(オプション)

データベース認証を使用する場合は、データベース管理者ユーザーを指定する必要があります。Oracle の場合、データベース管理者は sys です。Postgres の場合、postgres スーパーユーザーです。SQL Server の場合、sysadmin 固定サーバー ロールのメンバーです。

String
database_admin_password
(オプション)

データベース管理者のパスワードを入力します。データベース認証を使用する場合は、データベース管理者ユーザーのパスワードを指定する必要があります。

Encrypted String
sde_schema
(オプション)

このパラメーターは SQL Server の場合のみ該当し、ジオデータベースがデータベースの sde という名前のユーザーのスキーマに作成されるか、または dbo スキーマに作成されるかを指定します。dbo スキーマのジオデータベースを作成する場合、SQL Server のインスタンスの dbo であるユーザーで接続する必要があります。

  • SDE_SCHEMA —ジオデータベース リポジトリは sde というユーザーに所有され、そのスキーマに格納されます。これがデフォルトです。
  • DBO_SCHEMA —ジオデータベース リポジトリはデータベースの dbo スキーマに格納されます。
Boolean
gdb_admin_name
(オプション)

PostgreSQL を使用する場合は、この値は sde である必要があります。sde ログイン ロールが存在しない場合、このツールはロールを作成し、それにスーパーユーザー ステータスを付与します。また、データベース内に sde スキーマも作成します。sde ログイン ロールが存在する場合、このロールにスーパーユーザー ステータスが付与されていない場合は付与します。

Oracle を使用する場合は、デフォルトの値は sde です。しかし、ユーザー スキーマのジオデータベースをマスター sde ジオデータベースの中に作成する場合には、ジオデータベースを所有するユーザーの名前を指定します。このユーザーが DBMS 内に存在しない場合は、[エンタープライズ ジオデータベースの作成 (Create Enterprise Geodatabase)] ツールによって作成され、ジオデータベースの作成およびアップグレードとユーザー接続の切断に必要な権限が付与されます。このユーザーが存在する場合は、ツールによって必要な権限が付与されます。

SQL Server を使用し sde スキーマのジオデータベースを指定した場合、この値は sde である必要があります。ツールは、sde ログイン、データベース ユーザーおよびスキーマを作成し、ジオデータベースの作成および SQL Server インスタンスへの接続の切断のための権限を付与します。dbo スキーマを指定した場合、このパラメーターに値を指定しないでください。

String
gdb_admin_password
(オプション)

ジオデータベース管理者ユーザーのパスワードを指定します。ジオデータベース管理者ユーザーがすでに DBMS に存在する場合、入力するパスワードは既存のパスワードと一致する必要があります。ジオデータベース管理者ユーザーがまだ存在していない場合、新規ユーザーのための有効なデータベース パスワードを入力します。パスワードは、DBMS が設定するパスワード ポリシーを満たしている必要があります。

パスワードは、ジオプロセシングで暗号化された文字列です。

Encrypted String
tablespace_name
(オプション)

このパラメーターは DBMS タイプが Oracle および PostgreSQL である場合に有効です。Oracle の場合は、次のいずれかを実行します。

  • 既存の表領域の名前を指定します。これはジオデータベース管理者ユーザーのデフォルトの表領域として使用されます。
  • 有効な名前を入力すると、400 MB の表領域が Oracle のデフォルトの格納場所に作成され、ジオデータベース管理者のデフォルトの表領域として設定されます。
  • パラメーターを空白のままにすると、SDE_TBS という表領域 (400 MB) が作成され、ジオデータベース管理者のデフォルトの表領域として設定されます。

PostgreSQL の場合、既存の表領域の名前を指定してデータベースのデフォルトの表領域として使用するか、このパラメーターを空白にしておきます。このツールは PostgreSQL に表領域を作成しません。PostgreSQL では、このパラメーターに値を設定しない場合、データベースは pg_default 表領域に作成されます。

String
authorization_file

ArcGIS for Server Enterprise を認証したときに作成されたキーコード ファイルのパスとファイル名を指定します。このファイルは、Windows の場合は \\Program Files\ESRI\License<release#>\sysgen フォルダー、Linux の場合は /arcgis/server/framework/runtime/.wine/drive_c/Program Files/ESRI/License<release#>/sysgen ディレクトリにあります。まだ keycodes ファイルを作成していない場合には、ArcGIS for Server を認証して作成します。

File

コードのサンプル

CreateGeodatabase (ジオデータベースの作成) の例 1

次のスクリプトは Oracle データベースにジオデータベースを作成します。sde ユーザーを作成し、sde ユーザーに対してデフォルトの表領域である sdetbs を作成します。キーコード ファイルは、リモート Linux サーバー上にあります。

#Import arcpy module
import arcpy

arcpy.CreateEnterpriseGeodatabase_management("ORACLE", "ora11g:1521/elf", "", "DATABASE_AUTH", "sys", "manager", "", "sde", "supersecret", "sdetbs", 
                                             "//myserver/mymounteddrive/arcgis/server/framework/runtime/.wine/drive_c/Program Files/ESRI/License10.1/sysgen/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/Program Files/ESRI/License10.1/sysgen/keycodes")
CreateGeodatabase (ジオデータベースの作成) の例 3

このスクリプトは feldspar という名前のサーバー上の PostgreSQL データベース クラスターに接続します。既存の表領域 gdbspace に sde ユーザーとデータベース pggdb が作成されます。キーコード ファイルは、ローカル 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/License10.1/sysgen/keycodes")
CreateGeodatabase (ジオデータベースの作成) のスタンドアロン スクリプト

次のスタンドアロン 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 for 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 for Desktop Standard or Advanced, ArcGIS Engine with the Geodatabase Update extension, or ArcGIS for 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 for Desktop Basic: ×
  • ArcGIS for Desktop Standard: ○
  • ArcGIS for Desktop Advanced: ○

関連トピック

  • ジオデータベース管理ツールセットの概要
  • Oracle でのジオデータベースの設定
  • Linux での PostgreSQL のジオデータベースの設定
  • Windows での PostgreSQL のジオデータベースの設定
  • SQL Server のエンタープライズ ジオデータベースの設定
このトピックへのフィードバック

ArcGIS for Desktop

  • ホーム
  • ドキュメント
  • 価格
  • サポート

ArcGIS プラットフォーム

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

Esri について

  • 会社概要
  • 採用情報
  • スタッフ ブログ
  • ユーザ カンファレンス
  • デベロッパ サミット
Esri
© Copyright 2016 Environmental Systems Research Institute, Inc. | プライバシー | リーガル