ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Hilfe
  • Sign Out
ArcGIS Desktop

ArcGIS Online

Die Mapping-Plattform für Ihre Organisation

ArcGIS Desktop

Ein vollständiges professionelles GIS

ArcGIS Enterprise

GIS in Ihrem Unternehmen

ArcGIS for Developers

Werkzeuge zum Erstellen standortbezogener Apps

ArcGIS Solutions

Kostenlose Karten- und App-Vorlagen für Ihre Branche

ArcGIS Marketplace

Rufen Sie Apps und Daten für Ihre Organisation ab.

  • Dokumentation
  • Support
Esri
  • Anmelden
user
  • Eigenes Profil
  • Abmelden

Hilfe

  • Startseite
  • Erste Schritte
  • Karte
  • Analysieren
  • Daten verwalten
  • Werkzeuge
  • Mehr ...

Einrichten einer Geodatabase in Oracle

Mit der Standard- oder Advanced-Lizenz verfügbar.

  • Sie sind der Datenbank- und Geodatabase-Administrator
  • Der Oracle-Administrator konfiguriert die Datenbank, der Geodatabase-Administrator erstellt die Geodatabase
  • Sie möchten mehrere Geodatabases in derselben Oracle-Datenbank speichern

Die Art der Einrichtung einer Geodatabase hängt von der Situation vor Ort ab. Befolgen Sie die Anweisungen für die Szenarien, die auf Ihre Organisation zutreffen.

  • Sie sind der Datenbank- und Geodatabase-Administrator.
  • Der Oracle-Administrator konfiguriert die Datenbank, der Geodatabase-Administrator erstellt die Geodatabase.
  • Sie möchten mehrere Geodatabases in derselben Oracle-Datenbank speichern.

Sie sind der Datenbank- und Geodatabase-Administrator

Wenn Sie sowohl Datenbank-Administrator als auch Geodatabase-Administrator sind und deshalb das Kennwort für beide Anmeldenamen kennen, können Sie mit dem Geoverarbeitungswerkzeug oder Python-Skript Enterprise-Geodatabase erstellen eine Datenbank in Oracle erstellen.

Mit dem Werkzeug Enterprise-Geodatabase erstellen ist die Einrichtung einer Geodatabase völlig unkompliziert, da damit der Benutzer "sde", das Schema und der Tablespace erstellt und die erforderlichen Berechtigungen für den Benutzer "sde" gewährt werden. Um dies zu erreichen, werden bestimmte Standardeinstellungen verwendet. Im Folgenden wird beschrieben, welche Aufgaben vom Werkzeug Enterprise-Geodatabase erstellen ausgeführt und welche Einstellungen dabei verwendet werden:

  • Erstellen eines Datenbankbenutzers mit dem Namen "sde"
  • Erstellen eines 400-MB-Tablespace im Oracle-Standardverzeichnis und Festlegen desselben als Tablespace des Benutzers "sde"
  • Gewähren der Berechtigungen zum Erstellen und Aktualisieren einer Geodatabase und zum Entfernen von Datenbankverbindungen für den Benutzer "sde"
  • Gewähren der zum Erstellen einer Geodatabase erforderlichen Paketberechtigungen
  • Erstellen einer Geodatabase

Weitere Informationen zu den erforderlichen Berechtigungen finden Sie unter Berechtigungen für Geodatabases in Oracle.

Bevor Sie das Werkzeug oder Skript zum Erstellen einer Geodatabase ausführen, müssen Sie Oracle einrichten.

Einrichten von Oracle

Bevor Sie eine Geodatabase erstellen, muss Oracle installiert und konfiguriert werden. Die spezifische Konfiguration der Oracle-Instanz hängt von den individuellen Anforderungen Ihrer Organisation ab. Informationen zur Installation und Konfiguration finden Sie in der Oracle-Dokumentation.

Überprüfen Sie die ArcGIS-Systemanforderungen, bevor Sie eine Geodatabase einrichten, um sicherzustellen, dass die gewünschten Datenbankmanagementsystem-, ArcGIS- und Hardwarekombinationen unterstützt werden.

Installieren Sie nach der Installation und Konfiguration von Oracle die ArcGIS- und Oracle-Clients.

Konfigurieren eines ArcGIS-Clients

Sie können ein Python-Skript über ArcGIS for Desktop (Standard oder Advanced), ArcGIS Engine Runtime Geodatabase Update oder ArcGIS for Server ausführen, um eine Geodatabase zu erstellen. Wenn Sie das Geoverarbeitungswerkzeug Enterprise-Geodatabase erstellen anstelle eines Skripts ausführen möchten, verwenden Sie ArcGIS for Desktop.

Hinweis:

Sie benötigen eine ArcGIS-Server-Schlüsselcodedatei, um Ihre Geodatabase im nächsten Abschnitt zu autorisieren. Auch wenn Sie zum Erstellen der Geodatabase kein Python-Skript von einem ArcGIS-Server-Computer ausführen, müssen Sie ArcGIS-Server installieren und autorisieren, um die Schlüsselcodedatei abzurufen.

In den meisten Fällen wird der ArcGIS-Client auf einem anderen Computer als Oracle installiert. Deshalb benötigen Sie einen unterstützten Oracle-Client auf dem ArcGIS-Client-Computer, um eine Verbindung mit der Oracle-Instanz herzustellen. Informationen zum Bestimmen der empfohlenen Oracle-Client-Version für die Herstellung einer Verbindung zu der von Ihnen verwendeten Oracle-Version und Anweisungen zum Installieren und Konfigurieren des Clients finden Sie in der Oracle-Dokumentation.

  1. Installieren Sie den ArcGIS-Client, den Sie für die Erstellung der Geodatabase verwenden möchten.

    Befolgen Sie die Anleitungen, die in den Installationsanweisungen der Software bereitgestellt werden.

  2. Installieren und konfigurieren Sie einen Oracle-Client auf dem ArcGIS-Client-Computer.

    Wenn Sie eine Verbindung von einem 32-Bit-ArcGIS-Client herstellen, müssen Sie einen 32-Bit-Oracle-Client installieren. Das gilt auch, wenn Sie die ArcGIS-Client-Anwendung auf einem Computer mit einem 64-Bit-Betriebssystem installieren und sowohl die Datenbank als auch der Server ein 64-Bit-Betriebssystem verwenden. Wenn Sie eine Verbindung von einem 64-Bit-ArcGIS-Client herstellen, müssen Sie einen 64-Bit-Oracle-Client installieren.

    Sie können den Instant, Runtime oder Administrator Client bei Oracle anfordern. Anweisungen zum Installieren finden Sie in der Oracle-Dokumentation.

  3. Legen Sie die Umgebungsvariable des Betriebssystems oder Benutzerprofils so fest, dass sie den Pfad und den Namen des Verzeichnisses enthält, in dem der Oracle-Client installiert ist.

    • Legen Sie unter Linux die Umgebungsvariable LD_LIBRARY_PATH fest.

      Sie können den Instant, Runtime oder Administrator Client bei Oracle anfordern. Anweisungen zum Installieren finden Sie in der Oracle-Dokumentation.

      .
    • Legen Sie unter Windows die Umgebungsvariable PATH fest. Wenn ArcGIS for Server und ArcGIS for Desktop auf dem gleichen Windows-Computer installiert sind, legen Sie die PATH-Variable so fest, dass der 64-Bit-Client vor dem 32-Bit-Client gelesen wird. Beispiel: Wenn der 32-Bit-Oracle-Client unter c:\Program Files (x86)\Oracle und der 64-Bit-Oracle Instant Client unter c:\Program Files\Oracle installiert ist, müssen Sie dem PATH-Variablenwert Folgendes voranstellen: C:\Program Files\Oracle;C:\Program Files (x86)\Oracle;.

  4. Wenn der ArcGIS-Client bereits ausgeführt wurde, starten Sie ihn neu, damit der Oracle-Client und die neuen Umgebungsvariablen erkannt werden.
  5. Sie können von ArcGIS über eine Easy Connect-Verbindungszeichenfolge eine Verbindung mit Oracle herstellen. Sie müssen jedoch die Oracle-Datenbank konfigurieren, um Easy Connect-Zeichenfolgen zuzulassen. Wenn der Oracle-Client vollständig installiert ist, Sie jedoch die Easy Connect-Syntax zum Herstellen der Verbindung verwenden möchten, müssen Sie sicherstellen, dass die Datei "sqlnet.ora" auf dem Client so konfiguriert ist, dass die Verwendung von Easy Connect zulässig ist, und dass der Oracle-Server so konfiguriert ist, dass die Easy Connect-Syntax zulässig ist. Genauere Anweisungen hierzu finden Sie in der Oracle-Dokumentation.

Jetzt können Sie eine Geodatabase erstellen.

Erstellen einer Geodatabase

Sie können das Werkzeug Enterprise-Geodatabase von ArcGIS for Desktop (Standard oder Advanced) oder ein Python-Skript von einem ArcGIS for Desktop-, ArcGIS for Server- oder ArcGIS Engine-Client ausführen, um einen SDE-Benutzer, ein Schema, einen Tablespace und eine Geodatabase zu erstellen.

Ausführen des Werkzeugs Enterprise-Geodatabase erstellen

Wenn Sie Zugriff auf ArcGIS for Desktop haben, können Sie ein Geoverarbeitungswerkzeug ausführen, um die Geodatabase zu erstellen.

  1. Starten Sie ArcMap oder ArcCatalog.
  2. Öffnen Sie das Werkzeug Enterprise-Geodatabase erstellen.

    Sie können dieses Werkzeug suchen oder zu diesem Werkzeug navigieren, das sich im Toolset "Geodatabase-Verwaltung" der Toolbox "Data Management" befindet.

  3. Wählen Sie aus der Dropdown-Liste Datenbankplattform den Eintrag Oracle aus.
  4. Stellen Sie die Informationen bereit, die erforderlich sind, um eine Verbindung mit der Oracle-Instanz herzustellen.
    • Wenn Sie den Oracle-Client bereits für die Verwendung eines TNS-Netzwerk-Alias konfiguriert haben, geben Sie den Netzwerk-Alias in das Textfeld Instanz ein.
    • Wenn Sie keinen Netzwerk-Alias für den Oracle-Client konfiguriert haben und in der Oracle-Datenbank und im Oracle-Client die Verwendung von Easy Connect-Zeichenfolgen konfiguriert ist, geben Sie im Textfeld Instanz die Oracle Easy Connect-Zeichenfolge an.

    Eine Liste der möglichen Easy Connect-Zeichenfolgen finden Sie unter Herstellen einer Verbindung mit Oracle von ArcGIS.

  5. Sie müssen eine Verbindung mit der Datenbank als Datenbankadministrator herstellen, um den Geodatabase-Administrator und den Tablespace zu erstellen. Daher wird das Textfeld Datenbankadministrator mit dem sys-Benutzernamen aufgefüllt.
  6. Geben Sie das Kennwort für den sys-Benutzer in das Textfeld Datenbankadministratorkennwort ein.
  7. Geben Sie sde im Textfeld Geodatabase-Administrator ein.

    Wenn der Benutzer "sde" noch nicht in der Datenbank vorhanden ist, erstellt das Werkzeug ihn und weist ihm die zum Erstellen einer Geodatabase erforderlichen Berechtigungen zu. Wenn der Benutzer bereits in der Datenbank vorhanden ist, werden ihm die erforderlichen Berechtigungen gewährt.

  8. Geben Sie ein Kennwort für den Benutzer "sde" in das Textfeld Geodatabase-Administratorkennwort ein.

    Wenn der Benutzer "sde" bereits in der Datenbank vorhanden ist, müssen Sie das richtige Kennwort für den vorhandenen Benutzer eingeben. Das Kennwort kann nicht mit diesem Werkzeug geändert werden. Wenn Sie einen SDE-Benutzer erstellen, wird das eingegebene Kennwort zum Erstellen des SDE-Benutzers verwendet.

  9. Geben Sie einen Tablespace für den Benutzer "sde" an.
    • Wenn Sie über einen vorkonfigurierten Tablespace verfügen, der für das Geodatabase-Repository verwendet werden soll, geben Sie seinen Namen in das Textfeld Tablespace-Name ein.
    • Wenn ein Tablespace vom Werkzeug erstellt werden soll, geben Sie einen gültigen Namen in das Textfeld Tablespace-Name ein, damit das Werkzeug einen Tablespace von 400 MB im Oracle-Standardverzeichnis erstellt. Wenn Sie keinen Tablespace-Namen eingeben, wird der Tablespace "SDE_TBS" erstellt und als standardmäßiger Tablespace für den SDE-Benutzer festgelegt.
  10. Um eine Autorisierungsdatei anzugeben, wechseln Sie zu der Schlüsselcodedatei, die bei der Autorisierung von ArcGIS for Server erstellt wurde, und wählen Sie diese aus.

    Diese Datei wird auf Windows-Servern im Ordner \\Program Files\ESRI\License<release#>\sysgen gespeichert. Autorisieren Sie ArcGIS for Server jetzt, um diese Datei zu erstellen, sofern Sie dies nicht bereits getan haben.

  11. Klicken Sie auf OK, um das Werkzeug auszuführen.

Es wird eine Geodatabase in Ihrer Oracle-Datenbank erstellt.

Zum Erstellen der Geodatabase wird eine Protokolldatei (GDBCreateGeodatabase<#>.log) in das Verzeichnis geschrieben, das für die Variable "%TEMP%" auf dem Computer angegeben wurde, auf dem das Werkzeug ausgeführt wird. Falls Sie Probleme beim Ausführen des Werkzeugs haben, überprüfen Sie diese Protokolldatei, um das Problem zu beheben.

Als Nächstes können Sie einen Benutzer erstellen, der Daten in die Geodatabase laden kann.

Ausführen eines Python-Skripts

Sie können das hier verfügbare Skript kopieren, speichern und ausführen, um eine Geodatabase von ArcGIS for Desktop (Standard oder Advanced), ArcGIS for Server (Standard oder Advanced) oder ArcGIS Runtime (Geodatabase Update) zu erstellen.

  1. Erstellen Sie eine Textdatei auf einem ArcGIS-Client-Computer, und kopieren Sie das folgende Skript in die Datei.
    """
    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)
    
  2. Speichern Sie die Datei mit der Erweiterung .py.
  3. Führen Sie das Skript aus, indem Sie für Ihre Site spezifische Optionen und Informationen bereitstellen.

    In der folgenden Beispielausführung von einem Linux-Computer wird die Datei "create_gdb.py" für eine Oracle-Instanz mit der SID "orcl" ausgeführt. Die Instanz wird auf dem Server "gisprod" ausgeführt. Es werden ein Benutzer mit dem Namen "sde" und Kennwort "Tgdbst@rtsh3r3" und ein Tablespace mit dem Namen "sde" erstellt. Im Standardverzeichnis des ArcGIS-Servers wird eine Schlüsselcodedatei angegeben, um die Geodatabase zu autorisieren.

    ./create_gdb.py --DBMS ORACLE -i gisprod/orcl --auth DATABASE_AUTH -U sys
     -P N0pe3king! -u sde -p Tgdbst@rtsh3r3 -t sde -l /usr/arcgis/server/framework/runtime/.wine/drive_c/Program Files/ESRI/License10.3/sysgen/keycodes
    

    In diesem Beispiel wird dasselbe Skript auf einem Windows-Computer ausgeführt:

    create_gdb.py --DBMS ORACLE -i gisprod/orcl --auth DATABASE_AUTH -U sys
     -P N0pe3king! -u sde -p Tgdbst@rtsh3r3 -t sde -l \\Program Files\ESRI\License10.3\sysgen\keycodes
    
    Tipp:

    Geben Sie in der Eingabeaufforderung -h oder --help ein, um die Syntaxhilfe aufzurufen.

Sie verfügen nun über eine Geodatabase in Oracle.

Zum Erstellen der Geodatabase wird eine Protokolldatei (GDBCreateGeodatabase<#>.log) in das Verzeichnis geschrieben, das für die TEMP- oder TMP-Variable auf dem Computer angegeben wurde, auf dem das Skript ausgeführt wird.

Als Nächstes können Sie einen Benutzer erstellen, der Daten in die Geodatabase laden kann.

Der Oracle-Administrator konfiguriert die Datenbank, der Geodatabase-Administrator erstellt die Geodatabase

Wenn die Person, die die Geodatabase erstellt, über keinen Zugriff auf das Kennwort des Datenbankadministrators verfügt, kann der Datenbankadministrator die Datenbank und den Benutzer "sde" einrichten. Danach kann der Geodatabase-Administrator über den Anmeldenamen "sde" eine Verbindung mit der Datenbank herstellen und mit dem Geoverarbeitungswerkzeug oder Python-Skript Enterprise-Geodatabase aktivieren eine Geodatabase in der Datenbank erstellen.

Das Werkzeug Enterprise-Geodatabase aktivieren verwendet eine Datenbankverbindungsdatei als Eingabe und erstellt die Geodatabase-Systemtabellen, -sichten, -funktionen und -prozeduren im Schema des Benutzers "sde".

Einrichten von Oracle

Bevor der Geodatabase-Administrator eine Geodatabase erstellen kann, muss der Datenbank-Administrator folgende Aktionen ausführen:

  • Eine Oracle-Instanz installieren und konfigurieren. Die spezifische Konfiguration der Oracle-Instanz hängt von den individuellen Anforderungen Ihrer Organisation ab. Informationen zur Installation und Konfiguration finden Sie in der Oracle-Dokumentation.

    Überprüfen Sie die ArcGIS-Systemanforderungen, bevor Sie eine Geodatabase einrichten, um sicherzustellen, dass die gewünschten Datenbankmanagementsystem-, ArcGIS- und Hardwarekombinationen unterstützt werden. Eine Liste der erforderlichen Berechtigungen finden Sie unter Berechtigungen für Geodatabases in Oracle.

  • Den Benutzer "sde" mit Schema erstellen.
  • Dem Benutzer "sde" die erforderlichen Berechtigungen zum Erstellen einer Geodatabase zuweisen.
  • Einen Tablespace für den Benutzer "sde" erstellen und als Standard-Tablespace des Benutzers "sde" festlegen.
  • Ausführungsberechtigungen für die zur Geodatabase-Erstellung erforderlichen Pakete gewähren. Eine Liste der Pakete finden Sie unter Berechtigungen für Geodatabases in Oracle.

Nach der Installation und Konfiguration von Oracle kann der Geodatabase-Administrator die ArcGIS- und Oracle-Clients installieren.

Konfigurieren eines ArcGIS-Clients

Sie können ein Python-Skript über ArcGIS for Desktop (Standard oder Advanced), ArcGIS Engine Runtime Geodatabase Update oder über ArcGIS for Server (Standard oder Advanced) ausführen, um eine Geodatabase zu erstellen. Wenn Sie das Geoverarbeitungswerkzeug Enterprise-Geodatabase erstellen anstelle eines Skripts ausführen möchten, verwenden Sie ArcGIS for Desktop.

Hinweis:

Sie benötigen eine ArcGIS-Server-Schlüsselcodedatei, um Ihre Geodatabase im nächsten Abschnitt zu autorisieren. Auch wenn Sie zum Erstellen der Geodatabase kein Python-Skript von einem ArcGIS-Server-Computer ausführen, müssen Sie ArcGIS-Server installieren und autorisieren, um die Schlüsselcodedatei abzurufen.

In den meisten Fällen wird der ArcGIS-Client auf einem anderen Computer als Oracle installiert. Deshalb benötigen Sie einen unterstützten Oracle-Client auf dem ArcGIS-Client-Computer, um eine Verbindung mit der Oracle-Instanz herzustellen. Informationen zum Bestimmen der empfohlenen Oracle-Client-Version für die Herstellung einer Verbindung zu der von Ihnen verwendeten Oracle-Version und Anweisungen zum Installieren und Konfigurieren des Clients finden Sie in der Oracle-Dokumentation.

  1. Installieren Sie den ArcGIS-Client, den Sie für die Erstellung der Geodatabase verwenden möchten.

    Befolgen Sie die Anleitungen, die in den Installationsanweisungen der Software bereitgestellt werden.

  2. Installieren und konfigurieren Sie einen Oracle-Client auf dem ArcGIS-Client-Computer.

    Wenn Sie eine Verbindung von einem 32-Bit-ArcGIS-Client herstellen, müssen Sie einen 32-Bit-Oracle-Client installieren. Das gilt auch, wenn Sie die ArcGIS-Client-Anwendung auf einem Computer mit einem 64-Bit-Betriebssystem installieren und sowohl die Datenbank als auch der Server ein 64-Bit-Betriebssystem verwenden. Wenn Sie eine Verbindung von einem 64-Bit-ArcGIS-Client herstellen, müssen Sie einen 64-Bit-Oracle-Client installieren.

    Sie können den Instant, Runtime oder Administrator Client bei Oracle anfordern. Anweisungen zum Installieren finden Sie in der Oracle-Dokumentation.

  3. Legen Sie die Umgebungsvariable des Betriebssystems oder Benutzerprofils so fest, dass sie den Pfad und den Namen des Verzeichnisses enthält, in dem der Oracle-Client installiert ist.

    • Legen Sie unter Linux die Umgebungsvariable LD_LIBRARY_PATH fest.
    • Legen Sie unter Windows die Umgebungsvariable PATH fest. Wenn ArcGIS for Server und ArcGIS for Desktop auf dem gleichen Windows-Computer installiert sind, legen Sie die PATH-Variable so fest, dass der 64-Bit-Client vor dem 32-Bit-Client gelesen wird. Beispiel: Wenn der 32-Bit-Oracle-Client unter c:\Program Files (x86)\Oracle und der 64-Bit-Oracle Instant Client unter c:\Program Files\Oracle installiert ist, müssen Sie dem PATH-Variablenwert Folgendes voranstellen: C:\Program Files\Oracle;C:\Program Files (x86)\Oracle;.

  4. Wenn der ArcGIS-Client bereits ausgeführt wurde, starten Sie ihn neu, damit der Oracle-Client und die neuen Umgebungsvariablen erkannt werden.
  5. Sie können von ArcGIS über eine Easy Connect-Verbindungszeichenfolge eine Verbindung mit Oracle herstellen. Der Datenbank-Administrator muss jedoch die Oracle-Datenbank konfigurieren, um Easy Connect-Zeichenfolgen zuzulassen. Wenn der Oracle-Client vollständig installiert ist, Sie jedoch die Easy Connect-Syntax zum Herstellen der Verbindung verwenden möchten, müssen Sie sicherstellen, dass die Datei "sqlnet.ora" auf dem Client so konfiguriert ist, dass die Verwendung von Easy Connect zulässig ist und der Datenbankadministrator den Oracle-Server so konfiguriert hat, dass die Easy Connect-Syntax zulässig ist. Genauere Anweisungen hierzu finden Sie in der Oracle-Dokumentation.

Jetzt können Sie eine Geodatabase erstellen.

Erstellen einer Geodatabase

Der Geodatabase-Administrator kann das Werkzeug Enterprise-Geodatabase aktivieren von ArcGIS for Desktop (Standard oder Advanced) oder ein Python-Skript von einem ArcGIS for Desktop-, ArcGIS for Server- oder ArcGIS Engine-Client ausführen, um eine Geodatabase in der vorhandenen Datenbank zu erstellen.

Führen Sie das Werkzeug Enterprise-Geodatabase aktivieren aus.

Wenn Sie Zugriff auf ArcGIS for Desktop haben, können Sie das Werkzeug Enterprise-Geodatabase aktivieren ausführen, um eine Geodatabase zu erstellen.

  1. Starten Sie ArcMap oder ArcCatalog.
  2. Stellen Sie vom Kataloginhaltsverzeichnis als Benutzer "sde"eine Verbindung mit der Oracle-Datenbank her.

    Vergessen Sie nicht, das Kennwort des Benutzers im Dialogfeld Datenbankverbindung zu speichern.

  3. Klicken Sie mit der rechten Maustaste auf die Datenbankverbindung und wählen Sie Geodatabase aktivieren.

    Das Werkzeug Enterprise-Geodatabase aktivieren wird geöffnet, und im Textfeld Eingabe-Datenbankverbindung wird der Name und Speicherort der Verbindungsdatei eingefügt.

  4. Navigieren Sie zu der Autorisierungsdatei, die bei der Autorisierung von ArcGIS for Server erstellt wurde, und fügen Sie sie dem Textfeld Autorisierungsdatei hinzu.

    Wenn Sie zum Autorisieren von ArcGIS for Server den Assistenten verwenden, wird eine Schlüsselcodedatei auf dem Server erzeugt, auf dem die Software installiert ist. Wenn Sie ArcGIS for Server auf einem Linux-Computer autorisiert haben, wurde die Schlüsselcode-Datei im Verzeichnis /arcgis/server/framework/runtime/.wine/drive_c/Program Files/ESRI/License<release>/sysgen erstellt. Wenn Sie die Autorisierung auf einem Windows-Server ausgeführt haben, wurde die Datei im Verzeichnis Program Files\ESRI\License<release>\sysgen erstellt. Autorisieren Sie ArcGIS for Server, um diese Datei zu erstellen, sofern Sie dies nicht bereits getan haben.

  5. Klicken Sie auf OK, um das Werkzeug auszuführen.

Es wird eine Geodatabase in der Datenbank erstellt.

Das Werkzeug erstellt die Protokolldatei "GDBCreateGeodatabase<#>.log" in dem für die Variable "%TEMP%" angegebenen Verzeichnis auf dem Computer, auf dem das Werkzeug ausgeführt wird. Falls Sie Probleme beim Ausführen des Werkzeugs haben, überprüfen Sie diese Protokolldatei, um das Problem zu beheben.

Als Nächstes können Sie einen Benutzer erstellen, der Daten in die Geodatabase laden kann.

Ausführen eines Python-Skripts

Wenn Sie die Geodatabase durch das Ausführen eines Skripts von einer ArcGIS for Server-, ArcGIS for Desktop- oder ArcGIS Engine-Installation auf einem Windows-Computer erstellen möchten, können Sie das hier verfügbare Skript dazu verwenden.

  1. Erstellen Sie eine Textdatei auf einem ArcGIS-Client-Computer, und kopieren Sie das folgende Skript in die Datei.

    """
    Name: enable_enterprise_gdb.py
    Description: Provide connection information to an enterprise database
    and enable enterprise geodatabase.
    Type enable_enterprise_gdb.py -h or enable_enterprise_gdb.py --help for usage
    Author: Esri
    """
    
    # Import system modules
    import arcpy, os, optparse, 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', 'DB2','INFORMIX','DB2ZOS', ''], default="", help="Type of enterprise DBMS:  SQLSERVER, ORACLE, POSTGRESQL, DB2, INFORMIX, or DB2ZOS.")
    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 ("-D", dest="Database", type="string", default="none", help="Database name:  Not required for Oracle")
    parser.add_option ("-l", dest="Authorization_file", type="string", default="", help="Full path and name of authorization file")
    
    
    # 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
    	account_authentication = options.account_authentication.upper()
    	username = options.User.lower() 
    	password = options.Password	
    	database = options.Database.lower()
    	license = options.Authorization_file
    
    
    	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 == "SQLSERVER"):
    		database_type = "SQL_SERVER"
    		
    	# Get the current product license
    	product_license=arcpy.ProductInfo()
    	
    	if (license == ""):
    		print " \n%s: error: %s\n" % (sys.argv[0], "Authorization file (-l) must be specified.")
    		parser.print_help()
    		sys.exit(3)
    	
    	# Checks required license level
    	if product_license.upper() == "ARCVIEW" or product_license.upper() == 'ENGINE':
    		print "\n" + product_license + " license found!" + "  Enabling enterprise geodatabase functionality 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 enabling an enterprise geodatabase.")
    	else:
    		print "\n" + product_license + " license available!  Continuing to enable..."
    		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")
    	
    	
    	# Process: Enable geodatabase...
    	try:
    		print "Enabling Enterprise Geodatabase...\n"
    		arcpy.EnableEnterpriseGeodatabase_management(input_database=Connection_File_Name_full_path, 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)
    			
    	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)
    

  2. Speichern Sie die Datei mit der Erweiterung .py.
  3. Führen Sie das Skript aus, indem Sie für Ihre Site spezifische Optionen und Informationen bereitstellen.

    In der folgenden Beispielausführung von einem Linux-Computer wird die Datei "enable_gdb.py" für eine Oracle-Instanz mit der SID "orcl" ausgeführt. Die Instanz wird auf dem Server "gisprod" ausgeführt. Im Standardverzeichnis des ArcGIS-Servers wird eine Schlüsselcodedatei angegeben, um die Geodatabase zu autorisieren.

    enable_gdb.py --DBMS ORACLE -i gisprod/orcl --auth DATABASE_AUTH 
    -u sde -p Tgdbst@rtsh3r3 -l /usr/arcgis/server/framework/runtime/.wine/drive_c/Program Files/ESRI/License10.3/sysgen/keycodes
    

    In diesem Beispiel wird dasselbe Skript auf einem Windows-Computer ausgeführt:

    create_gdb.py --DBMS ORACLE -i gisprod/orcl --auth DATABASE_AUTH -U sys
     -P N0pe3king! -u sde -p Tgdbst@rtsh3r3 -t sde -l \\Program Files\ESRI\License10.3\sysgen\keycodes
    
    Tipp:

    Geben Sie in der Eingabeaufforderung -h oder --help ein, um die Syntaxhilfe aufzurufen.

Sie verfügen nun über eine Geodatabase in der Oracle-Datenbank.

Zum Erstellen der Geodatabase wird eine Protokolldatei (GDBCreateGeodatabase<#>.log) in das Verzeichnis geschrieben, das für die TEMP- oder TMP-Variable auf dem Computer angegeben wurde, auf dem das Skript ausgeführt wird.

Als Nächstes können Sie einen Benutzer erstellen, der Daten in die Geodatabase laden kann.

Sie möchten mehrere Geodatabases in derselben Oracle-Datenbank speichern

Nachdem mit den in den vorherigen Abschnitten beschriebenen Verfahren im Schema des Benutzers "sde" eine Geodatabase erstellt wurde (auch als Master-SDE-Geodatabase bezeichnet), können andere Benutzer eine Geodatabase in ihren Schemas erstellen. Sie können zulassen, dass andere Benutzer eigene Geodatabases erstellen, um Daten für verschiedene Teams oder Projekte zu gruppieren und zu trennen.

Für Geodatabases in Benutzerschemas gelten folgende Regeln:

  • Der Benutzer, der die Geodatabase erstellt hat, ist zugleich ihr Besitzer. Dieser Benutzer ist der Geodatabase-Administrator für diese Geodatabase und benötigt die gleichen Geodatabase-Administratorberechtigungen. Eine Liste der spezifischen Geodatabase-Administratorberechtigungen finden Sie unter Berechtigungen für Geodatabases in Oracle.
  • Ein Benutzer kann nur eine Geodatabase besitzen.
  • Nur der Besitzer der Geodatabase mit Benutzerschema kann Daten in dieser Geodatabase besitzen.
  • Wenn ein Benutzer eine Geodatabase besitzt, kann er keine Daten in der Master-SDE-Geodatabase besitzen.
  • Wenn ein Benutzer Daten in der Master-SDE-Geodatabase besitzt, kann er keine Geodatabase mit Benutzerschema besitzen.
  • Der Zeitaufwand für die Herstellung der Verbindung zur Oracle-Datenbank nimmt mit zunehmender Anzahl der erstellten und verwendeten Benutzerschema-Geodatabases zu. Dies gilt insbesondere dann, wenn Benutzerschema-Geodatabases eine Mischung aus Geodatabase-Tabellen und Tabellen, die nicht bei der Geodatabase registriert sind, enthalten.

Nach der Erstellung der Master-SDE-Geodatabase können Sie mit einem der obengenannten Werkzeuge oder Skripte eine Benutzerschema-Geodatabase erstellen.

  • Enterprise-Geodatabase erstellen: Wie bereits zuvor in diesem Thema erwähnt, muss der Benutzer, der das Werkzeug Enterprise-Geodatabase erstellen ausführt, das Kennwort des sys-Benutzers kennen. Deshalb muss dieses Werkzeug vom Datenbank-Administrator ausgeführt werden. Stellen Sie sicher, dass der Name des Schemabesitzers für den Geodatabase-Administrator angegeben ist.
  • Enterprise-Geodatabase aktivieren: Wenn Sie keinen Zugang zum Kennwort des sys-Benutzers haben, kann der Datenbank-Administrator Ihnen die erforderlichen Berechtigungen zum Erstellen einer Geodatabase erteilen. Danach können Sie mit Ihren Anmeldedaten eine Verbindung mit der Geodatabase herstellen und das Werkzeug oder Skript Enterprise-Geodatabase aktivieren ausführen, um eine Geodatabase in Ihrem Schema zu erstellen.

ArcGIS Desktop

  • Startseite
  • Dokumentation
  • Support

ArcGIS Plattform

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

Über Esri

  • Über uns
  • Karriere
  • Esri Blog
  • User Conference
  • Developer Summit
Esri
Wir sind an Ihrer Meinung interessiert.
Copyright © 2019 Esri. | Datenschutz | Rechtliches