(1)extent整数倍的datapage的大小(默认32个),每次写容器时,写的单位为一个扩展数据块extent。
(2)DMS的自动存储。 V9版本 创建db时默认启用自动存储,建库语句需指定容器可存储的路径,最初没有启用自动存储的db,以后不能开启。开启了,不能禁用(v9.7之前)。创建表空间时不需要提供容器,db2将自动分配。db2都替你管理了。
create database mydb automatic storage on /db2/my123,/db2/my456 autoresize yes initialsize 300M increasesize 75M maxsize none 指定了路径,如果没有指定路径,db2将在默认路径下生成。
create database test
create database test automatic storage yes
除了临时表空间。系统,用户表空间都为自动dms。
当数据库启动了自动存储时,创建表空间,指定managed子句,表空间将不是自动存储。
没有启动自动存储,创建表空间时,需要指定managed by system或managed by database
看一个例子:
create database mydb
dft_extent_sz 4
catalog tablespace managed by database using (系统表空间)
(file 'c:\db2data\catalog.dat' 2000,file 'd:\db2data\catalog.dat'2000)
extentsize 8
prefetchsize 16
temporary tablespace managed by system using ('c:\tempts\','d:\tempts')
user tablespace managed by database using
(file 'c:\ts\userts.dat' 1200)
extentsize 24
prefetchsize 48
我们来详细地看看每一行:
CREATE DATABASE:这个语句定义要创建的数据库的名称。
DFT_EXTENT_SZ 4:这个参数告诉DB2默认的扩展数据块大小是4个页面,除非在创建表空间时显式地声明,否则默认使用这个值。
CATALOG TABLEPSACE MANAGED BY DATABASE USING:DB2编目空间将由数据库管理。
FILE 'C:\....':表空间的位置将跨两个文件,每个文件有2000个页面的空间。
EXTENTSIZE 8:EXTENTSIZE是8个页面。这个设置会覆盖DFT_EXTENT_SZ。
PREFETCHSIZE 16:在查询处理期间,同时预读取16个页面。
TEMPORARY TABLESPACE MANAGED BY SYSTEM USING:DB2使用的临时空间将由操作系统处理。
'C:\TEMPTS' ...:临时空间将跨两个文件,文件的大小在DB2执行期间自动地调整。
USER TABLESPACE MANAGED BY DATABASE USING:用户表空间(放置真正的表的地方)将由DB2直接管理。
FILE 'C:\TS\...':这个空间只有一个容器,它由1200个页面组成。
EXTENTSIZE 24:USER表空间的EXTENTSIZE是24个页面。
PREFETCHSIZE 48:查询处理期间,同时预读取48个页面。
http://www.ibm.com/developerworks/cn/data/library/techarticles/dm-1007zhanggy/index.html?ca=drs-
http://www.ibm.com/developerworks/cn/data/library/techarticles/dm-1003liux/