天天看點

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

繼續閱讀