Erstellen einer DB2-Datenbank unter Linux oder UNIX

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.

TippTipp:

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

Die folgenden Schritte umfassen ein Beispielskript, mit dem eine DB2-Datenbank und ein USER TEMPORARY-Tablespace erstellt und der Rolle PUBLIC die Verwendung aller Tablespaces gewährt wird.

Schritte:
  1. Erstellen Sie ein Skript zur Erstellung der Datenbank.
    HinweisHinweis:

    Der Name einer Datenbank, die zum Speichern einer Geodatabase verwendet wird, darf keine Sonderzeichen enthalten.

    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.

    db2 -tvf <script.clp>
    
    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 '/db2_data/mysdedb/regtbs' 125000);
    
    CREATE LONG TABLESPACE lobtbs PAGESIZE 4 K MANAGED BY DATABASE USING ( FILE '/db2_data/mysdedb/lobtbs' 51200);
    
    CREATE USER TEMPORARY TABLESPACE sdespace PAGESIZE 4 K MANAGED BY SYSTEM USING ('/db2_data/mysdedb/sdespace' );
    
    GRANT USE OF TABLESPACE regtbs TO PUBLIC;
    
    GRANT USE OF TABLESPACE lobtbs TO PUBLIC;
    
    GRANT USE OF TABLESPACE sdespace TO PUBLIC;
    
    GRANT DBADM ON DATABASE mysdedb TO USER SDE;
    
    UPDATE DATABASE CONFIGURATION FOR mysdedb USING APP_CTL_HEAP_SZ 2048;
    
    UPDATE DATABASE CONFIGURATION FOR mysdedb USING APPLHEAPSZ 2048;
    
    UPDATE DATABASE CONFIGURATION FOR mysdedb USING LOGPRIMARY 10;
    
    FORCE APPLICATION ALL;
    
    DB2STOP FORCE;
    
    DB2START;
  2. 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 '';
  3. Erteilen Sie der Rolle PUBLIC die Berechtigung zur Verwendung aller Tablespaces.
    GRANT USE OF TABLESPACE regtbs TO PUBLIC; 

Nachdem Sie die Datenbank erstellt haben, müssen Sie sie räumlich aktivieren. Informationen hierzu finden Sie unter Räumliches Aktivieren einer DB2-Datenbank.

Verwandte Themen


7/10/2012