Erstellen einer DB2-Datenbank unter Windows
Geodatabases sind Sammlungen von Tabellen und Prozeduren in einer Datenbank. Daher muss vor dem Erstellen einer Geodatabase eine Datenbank erstellt werden.
Bei DB2 erfordert ArcSDE die Verwendung einer globalen temporären Tabelle (DECLARE GLOBAL TEMPORARY TABLE). Sie müssen über SYSADMIN- oder DBADM-Rechte bzw. über die USE-Berechtigung für einen USER TEMPORARY-Tablespace verfügen, um globale temporäre Tabellen deklarieren zu können (siehe DB2-Dokumentation). Ein USER TEMPORARY-Tablespace kann über die DB2-Steuerzentrale oder über die Befehlszeile mit dem Befehl CREATE USER TEMPORARY TABLESPACE erstellt werden. Der USER TEMPORARY-Tablespace muss als System Managed Space (SMS) erstellt werden.
Obwohl Sie SMS für temporäre Benutzer-Tablespaces verwenden sollten, sollten Sie Database-Managed Space (DMS)-Tablespaces zum Speichern von Benutzerdaten vewrenden.
Es stehen viele Optionen für Tablespace-Speicherung zur Verfügung. Weitere Informationen finden Sie im DB2 Information Center unter "Automatic storage table spaces".
-
Erstellen Sie ein Skript zur Erstellung der Datenbank.
Das folgende Skript ist ein Beispielskript. Ersetzen Sie Variablen wie Datenbankname, Kennwortnamen, Containernamen und Pfade so, dass sie mit den auf Ihrer Site erforderlichen Informationen übereinstimmen.
Hinweis:Der Name einer Datenbank, die zum Speichern einer Geodatabase verwendet wird, darf keine Sonderzeichen enthalten.
FORCE APPLICATION ALL; DB2STOP; DB2START; CREATE DATABASE mysdedb USING CODESET UTF-8 TERRITORY US COLLATE USING SYSTEM USER TABLESPACE MANAGED BY DATABASE USING (FILE '/db2_data/mysdedb/sdetbsp' 51200); CONNECT TO mysdedb user db2admin using <your password>; CREATE REGULAR TABLESPACE regtbs PAGESIZE 4 K MANAGED BY DATABASE USING ( FILE 'd:\db2_data\mysdedb\regtbs' 102400); CREATE REGULAR TABLESPACE idxtbs PAGESIZE 4 K MANAGED BY DATABASE USING ( FILE 'd:\db2_data\mysdedb\idxtbs' 51200); CREATE LONG TABLESPACE lobtbs PAGESIZE 4 K MANAGED BY DATABASE USING ( FILE 'd:\db2_data\mysdedb\lobtbs' 51200); CREATE USER TEMPORARY TABLESPACE sdespace PAGESIZE 4 K MANAGED BY SYSTEM USING ('d:\db2_data\ sdespace' ); GRANT USE OF TABLESPACE regtbs TO PUBLIC; GRANT USE OF TABLESPACE lobtbs TO PUBLIC; COMMENT ON TABLESPACE sdespace IS ''; GRANT DBADM ON DATABASE TO USER SDE; UPDATE DATABASE CONFIGURATION FOR mydb USING APP_CTL_HEAP_SZ 2048; UPDATE DATABASE CONFIGURATION FOR mydb USING APPLHEAPSZ 2048; UPDATE DATABASE CONFIGURATION FOR mydb USING LOGPRIMARY 10; FORCE APPLICATION ALL; DB2STOP FORCE; DB2START;
-
Erstellen Sie einen USER TEMPORARY-Tablespace als System Managed Space (SMS).
Beispiel:
CREATE USER TEMPORARY TABLESPACE sdespace PAGESIZE 4 K MANAGED BY SYSTEM USING ('d:\db2_data\sdespace' ); COMMENT ON TABLESPACE sdespace IS '';
-
Erteilen Sie der Rolle PUBLIC die Berechtigung zur Verwendung aller Tablespaces.
GRANT USE OF TABLESPACE regtbs TO PUBLIC;