在 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 授予所有表空间的使用权限。
步骤:
-
创建用于创建数据库的脚本。
注:
存储地理数据库的数据库的名称不能包含特殊字符。
以下是示例脚本。替换数据库名称、密码名称和容器名称及路径等变量,以与您站点所需信息相匹配。
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;
-
将用户临时表空间创建为系统管理的空间 (SMS)。
例如:
CREATE USER TEMPORARY TABLESPACE sdespace PAGESIZE 4 K MANAGED BY SYSTEM USING ('d:\db2_data\sdespace' ); COMMENT ON TABLESPACE sdespace IS '';
-
向 PUBLIC 授予所有表空间的使用权限。
GRANT USE OF TABLESPACE regtbs TO PUBLIC;
创建数据库后,必须在空间上启用数据库。有关详细信息,请参阅在空间上启用 DB2 数据库。
相关主题
7/10/2012