WEB开发网
开发学院数据库DB2 抛砖引玉,实例讲解DB2中的表空间 阅读

抛砖引玉,实例讲解DB2中的表空间

 2007-05-20 16:20:51 来源:WEB开发网   
核心提示: 每个容器(文件)的大小变为8000页,把容器的容量变大不会出错,抛砖引玉,实例讲解DB2中的表空间(3),但是如果容器中的数据已经充满,再把容器的容量缩小,例十:创建用户临时表空间:CREATE USER TEMPORARY TABLESPACE usr_tbsp MANAGED BY D

每个容器(文件)的大小变为8000页。把容器的容量变大不会出错,但是如果容器中的数据已经充满,再把容器的容量缩小,则会引起错误。

例六:用EXTEND子句更改例三所创建的表空间的容器的大小:

ALTER TABLESPACE RESOURCE EXTEND (file 'd:db2dataacc_tbsp' 1000, file 'e:db2dataacc_tbsp' 1000, file 'f:db2dataacc_tbsp' 1000)

该命令的运行结果为在原有容量的基础之上,每个容器再增加1000页。

例七:删除例三中创建的DMS表空间:

DROP TABLESPACE RESOURCE

运行的结果为在DB2的注册表中把RESOURCE表空间删除,同时在磁盘上把相对应的文件夹和文件都一起自动删除。

例八:在UNIX上创建一个DMS表空间,使用各有10000页的3个逻辑卷:

CREATE TABLESPACE RESOURCE MANAGED BY DATABASE USING (DEVICE '/dev/rdblv6' 10000, DEVICE '/dev/rdblv7' 10000, DEVICE '/dev/rdblv8' 10000)

上面语句中提到的UNIX设备必须已经存在,且实例拥有者和SYSADM组必须能够写入它们。

SMS与DMS的对比

特性                    SMS     DMS
能够在表空间中动态增加容器的数目吗      N      Y
能够把索引数据存放到不同表空间的表中吗    N      Y
能够把大对象数据存放到不同表空间的表中吗   N      Y
表可以分散存放到多个表空间中吗        N      Y
仅在需要时才分配空间吗            Y      N
表空间可以被放在不同的磁盘中吗        Y      N
创建之后,区段大小能够改变吗         N      N

例九:创建系统临时表空间:

CREATE SYSTEM TEMPORARY TABLESPACE tmp_tbsp MANAGED BY SYSTEM USING(‘d:  mp_tbsp’,’e:  mp_tbsp’)

系统临时表只能存储在系统临时表空间中,所以数据库必须始终至少有一个系统临时表空间。

例十:创建用户临时表空间:

CREATE USER TEMPORARY TABLESPACE usr_tbsp MANAGED BY DATABASE USING(FILE ‘d:db2datauser_tbsp’ 5000, FILE ‘e:db2datauser_tbsp’ 5000)

用户临时表空间用于存储已说明的临时表(用 DECLARE GLOBAL TEMPORARY TABLE 语句定义)

例十一:用RENAME语句给表空间重命名:

RENAME TABLESPACE RESOURCE TO RES1

用该语句给表空间重命名之后,将自动更改所有引用该表空间的目录记录,所以无须关心该表空间中的个别对象。

例十二:在RESOURCE表空间中创建一张名为T1的表:

CREATE TABLE T1(ABC INT) IN RESOURCE

上一页  1 2 3 

Tags:抛砖引玉 实例 讲解

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接