DB2的數據庫分區DPF(Database Partitioning Feature)功能是shared nothing架構的數據處理方案,它能夠有效地利用單機多核,多機MPP的並行處理能力,是面向數據倉庫和商業智能方面應用的最佳選擇。
node
本文介紹在單機內建立多分區數據庫的方法,多機的環境稍有不一樣,它須要全部節點共享一個實例用戶的home目錄。sql
一、建立實例shell
使用/opt/ibm/db2/<version>/instance/db2isetup圖形嚮導建立實例db2inst1時,指定多分區,而後下一步指定分區數量,這裏定義最多八個分區。數據庫
建立完後,查看/etc/services文件,能看到對應的端口範圍:
架構
DB2_db2inst1 60000/tcp DB2_db2inst1_1 60001/tcp DB2_db2inst1_2 60002/tcp DB2_db2inst1_3 60003/tcp DB2_db2inst1_4 60004/tcp DB2_db2inst1_5 60005/tcp DB2_db2inst1_6 60006/tcp DB2_db2inst1_END 60007/tcp
二、配置本機用戶db2inst1的ssh無密碼登陸ssh
$ ssh-keygen -t rsa $ cat .ssh/id_rsa.pub >> .ssh/authorized_keys
三、設定DB2環境變量DB2RSHCMDtcp
$ db2set DB2RSHCMD=/usr/bin/ssh -i
四、編輯$HOME/sqllib/db2nodes.cfgspa
0 db2serv 0 1 db2serv 1
這裏只定義了兩個分區
code
五、啓動實例orm
[db2inst1@db2serv ~]$ db2start 01/11/2015 17:37:58 1 0 SQL1063N DB2START processing was successful. 01/11/2015 17:37:59 0 0 SQL1063N DB2START processing was successful. SQL1063N DB2START processing was successful.
從提示信息能夠看到有兩個DB2START成功了。
六、建立數據庫
$ mkdir /home/db2inst1/testdb $ db2 create database testdb on /home/db2inst1/testdb
七、訪問數據庫
訪問數據庫前,請務必設置DB2NODE變量,若是沒有缺省爲第一個分區
[db2inst1@db2serv ~]$ export DB2NODE=1 [db2inst1@db2serv ~]$ db2 db2 => connect to testdb Database Connection Information Database server = DB2/LINUXX8664 10.5.3 SQL authorization ID = DB2INST1 Local database alias = TESTDB db2 => list tablespace containers for 2 Tablespace Containers for Tablespace 2 Container ID = 0 Name = /home/db2inst1/testdb/db2inst1/NODE0001/TESTDB/T0000002/C0000000.LRG Type = File
對比一下DB2NODE=0的表空間容器信息:
db2 => list tablespace containers for 2 Tablespace Containers for Tablespace 2 Container ID = 0 Name = /home/db2inst1/testdb/db2inst1/NODE0000/TESTDB/T0000002/C0000000.LRG Type = File
區別在於NODE0000和NODE0001兩個目錄
[db2inst1@db2serv db2inst1]$ pwd /home/db2inst1/testdb/db2inst1 [db2inst1@db2serv db2inst1]$ ls NODE0000 NODE0001 [db2inst1@db2serv db2inst1]$