在 Linux 或 UNIX 上创建 DB2 数据库

地理数据库是数据库中表和过程的集合。因此在创建地理数据库之前必须先创建数据库。

对于 DB2,ArcSDE 要求使用 DB2 全局临时表 (DECLARE GLOBAL TEMPORARY TABLE)。按照 DB2 文档所述,必须有 SYSADMIN 或 DBADM 权限或已被授予 USER TEMPORARY 表空间的 USE 权限才能声明全局临时表。使用“DB2 控制中心”或在命令行中使用 CREATE USER TEMPORARY TABLESPACE 命令均可创建用户临时表空间。确保将用户临时表空间创建为系统管理的空间 (SMS)。

提示提示:

尽管应使用 SMS 形式的用户临时表空间,但在存储用户数据时应使用数据库管理空间 (DMS) 形式的表空间。

表空间存储有多个选项。有关详细信息,请参阅 DB2 信息中心的主题“自动存储表空间”。

下列步骤包含一个示例脚本,用于创建 DB2 数据库、创建用户临时表空间以及向 PUBLIC 授予所有表空间的使用权限。

步骤:
  1. 创建用于创建数据库的脚本。
    注意注意:

    存储地理数据库的数据库的名称不能包含特殊字符。

    以下是示例脚本。替换数据库名称、密码名称和容器名称及路径等变量,以与您站点所需信息相匹配。

    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. 将用户临时表空间创建为系统管理的空间 (SMS)。

    例如:

    CREATE USER TEMPORARY TABLESPACE sdespace PAGESIZE 4 K MANAGED BY SYSTEM USING ('d:\db2_data\sdespace' );
    
    COMMENT ON TABLESPACE sdespace IS '';
  3. 向 PUBLIC 授予所有表空间的使用权限。
    GRANT USE OF TABLESPACE regtbs TO PUBLIC; 

创建数据库后,必须在空间上启用数据库。有关详细信息,请参阅在空间上启用 DB2 数据库

相关主题


3/7/2012