天天看点

db2 分区组

数据库分区组是一个或多个数据库分区的集合。想要为数据库创建表时,首先创建用来存储表空间的数据库分区组,然后创建用来存储表的表空间。

可以在数据库中定义一个或多个数据库分区组成的命名子集。您定义的每个子集称为 数据库分区组 。包含多个数据库分区的每个子集称为 多分区数据库分区组 。多分区数据库分区组只能使用属于相同实例的数据库分区定义。

图 1 给出了一个含五个分区的数据库示例,在这个示例中:

• 数据库分区组横跨除一个数据库分区外的所有其它分区(数据库分区组 1)。

• 数据库分区组包含一个数据库分区(数据库分区组 2)。

• 数据库分区组包含两个数据库分区(数据库分区组 3)。

• 数据库分区组 2 中的数据库分区与数据库分区组 1 共享并与之相交。

• 数据库分区组 3 中存在单个数据库分区,该分区与数据库分区组 1 共享并与之相交。

可使用 CREATE DATABASE PARTITION GROUP 语句创建数据库分区组。此语句指定表空间容器和表数据将驻留其上的一组数据库分区。此语句还可以:

• 为数据库分区组创建分区映射。

• 生成分区映射标识。

• 将记录插入下列目录表:

o SYSCAT.DBPARTITIONGROUPS

o SYSCAT.PARTITIONMAPS

o SYSCAT.DBPARTITIONGROUPDEF

创建数据库时创建的缺省数据库分区组由数据库管理器使用。IBMCATGROUP 是包含系统目录的表空间的缺省数据库分区组,只在主节点上(主数据库分区)。IBMTEMPGROUP 是系统临时表空间的缺省数据库分区组,包含所有数据库分区。

IBMDEFAULTGROUP 是包含用户定义的表的表空间的缺省数据库分区组,包含所有数据库分区。

通过将表空间放置在多分区数据库分区组中,将该表空间内的所有表划分或分区到该数据库分区组的每个分区中。由此该表空间被创建到了一个数据库分区组中。一旦位于某个数据库分区组中,该表空间就必须保留在该处;而不能更改至另一数据库分区组。CREATE TABLESPACE 语句用于将表空间与数据库分区组关联。

建数据库分区组示例:

CREATE DATABASE PARTITION GROUP MAXGROUP ON ALL DBPARTITIONNUMS

CREATE DATABASE PARTITION GROUP MEDGROUP ON DBPARTITIONNUMS( 0 TO 2, 5, 8)

db2

继续阅读