Windows下DB2分區實驗方案
OS: Windows XP
DB2 UDB 8.1.3
在一個主機上建立2個邏輯分區
安裝DB2時已經建立了樣本資料庫
(1)執行db2ncrt來建立資料庫分區
db2ncrt /n:1 /u:username,password /h:hostname /p:1 /o:hostname /g:hostname
(2)db2stop; db2start
(3)查看db2nodes.cfg檔案
0 hostname hostname 0
1 hostname hostname 1 hostname
(4)建立資料庫
db2 create database mydb1
(5)建立分區組
db2 create database partition group pg01 on dbpartitionnum(0 to 1)
db2 list database partition groups
(6)建立緩衝池
db2 create bufferpool BP01 database partition group pg01 size 500
db2 select bpname, ngname from syscat.bufferpools
(7)建立資料表空間mytbls1
同一台機上不同分區需要不同的容器,下面的SQL是通過db2控制中心產生的
CONNECT TO MYDB1;
CREATE REGULAR TABLESPACE MYTBLS1 IN DATABASE PARTITION GROUP "PG01" PAGESIZE 4 K MANAGED BY SYSTEM USING ('C:/DB2/NODE0000/tbls0' ) ON DBPARTITIONNUM (0) USING ('C:/DB2/NODE0001/tbls1' ) ON DBPARTITIONNUM (1) EXTENTSIZE 16 OVERHEAD 10.5 PREFETCHSIZE 16 TRANSFERRATE 0.14 BUFFERPOOL "BP01" DROPPED TABLE RECOVERY OFF;
COMMENT ON TABLESPACE MYTBLS1 IS '';
CONNECT RESET;
(8)在資料表空間中建立表
db2 "create table tab1 (col1 int, col2 int, col3 char(10)) in mytbls1 partitioning key (col1, col2)"
(9)建立索引
db2 "create index index1 on tab1 (col1, col2)"
(10)啟用分區並行性
db2 update dbm cfg using INTRA_PARALLEL YES
需要重啟db2
(11)測試db2_all命令
db2_all "db2 update db cfg for mydb1 using LOGFILSIZ 500"
(12)測試rah命令
rah "mkdir abc"
在C:/WINDOWS/system32目錄下建立abc
rah "mkdir ../../abc"
在C:下目錄下建立abc
參考資料
<對 DB2 UDB V8 for UNIX、Linux 和 Windows 的生動簡介>
<對具有資料庫資料分割函數的 DB2 UDB for Linux, UNIX and Windows Version 8 的生動介紹(第 2 部分) >
附錄A DB2NCRT參數
DB2NCRT 公用程式在分區資料庫系統中建立新節點。
DB2NCRT /n:node
/u:username,password
[/i:instance]
[/h:host]
[/m:machine]
[/p:port]
[/o:instance owning
machine]
[/g:netname]
命令自變數為:
o /n 指定節點號
o /u 指定 DB2 服務的帳戶名稱和密碼。
命令選項是:
o /i 指定執行個體(若與預設/當前執行個體不同的話)
o /h 指定 TCP/IP 主機名稱(若主機名稱不是機器預設 TCP/IP
主機名稱的話)
o /m 指定工作站名(若節點是在遠程機器上建立的話)
o /p 指定邏輯連接埠號碼(若這不是機器上第一個節點的話)
o /o 指定擁有執行個體的機器的電腦名稱(當在機器上建立第一個節點時)
o /g 指定網路名稱或“IP 位址”。