创建数据库时,将定义三个表空间:(1) 用于系统目录表的 SYSCATSPACE,(2) 用于在数据库处理期间创建的系统临时表的 TEMPSPACE1 以及 (3) 用于用户定义的表和索引的 USERSPACE1。 同时,您还可以创建其他用户表空间。
除非另外指定,否则三个缺省表空间由自动存储器管理。
通过使用 CREATE DATABASE 命令,可以指定缺省缓冲池和初始表空间的页大小。此缺省值还表示所有将来 CREATE BUFFERPOOL 和 CREATE TABLESPACE 语句的缺省页大小。如果在创建数据库时不指定页大小,那么缺省页大小是 4 KB。
CREATE DATABASE name
PAGESIZE page size
CATALOG TABLESPACE
MANAGED BY SYSTEM USING ('path')
EXTENTSIZE value PREFETCHSIZE value
USER TABLESPACE
MANAGED BY DATABASE USING (FILE'path' 5000,
FILE'path' 5000)
EXTENTSIZE value PREFETCHSIZE value
TEMPORARY TABLESPACE
MANAGED BY SYSTEM USING ('path')
WITH "comment"
CREATE DATABASE PERSONL
PAGESIZE 16384
CATALOG TABLESPACE
MANAGED BY SYSTEM USING ('d:\pcatalog','e:\pcatalog')
EXTENTSIZE 16 PREFETCHSIZE 32
USER TABLESPACE
MANAGED BY DATABASE USING (FILE'd:\db2data\personl' 5000,
FILE'd:\db2data\personl' 5000)
EXTENTSIZE 32 PREFETCHSIZE 64
TEMPORARY TABLESPACE
MANAGED BY SYSTEM USING ('f:\db2temp\personl')
WITH "Personnel DB for BSchiefer Co"
在本示例中,缺省页大小设置为
16384 字节,并且明确提供了每个初始表空间的定义。只需要为不希望使用缺省定义的那些表空间指定表空间定义。CREATE DATABASE 命令上的 MANAGED BY 短语的编码与 CREATE TABLESPACE 语句上的 MANAGED BY 短语遵循同一格式。
您可以在需要时添加其他用户和临时表空间。不能删除目录表空间 SYSCATSPACE 或创建另一个目录表空间;且必须始终存在至少一个页大小为 4 KB 的系统临时表空间。可以创建其他系统临时表空间。在创建表空间之后,您也不能更改它的页大小或扩展数据块大小。