将DB2 UDB从非分区迁移到分区环境
步骤 4. 导出表
下一步就是以 DEL 格式导出表。
注意:无法使用 IXF 文件将导出表装入哈希分区数据库中定义的表。因此,请确保使用分隔的 ASCII(DEL)格式来导出表。
db2 "export to /dpf_staging/EXPORT_DPF/V8INST1.
S_OPTY_POSTN of del select * from V8INST1. S_OPTY_POSTN"
步骤 5. 设置逻辑节点环境
检查 vi ~/sqllib/db2nodes.cfg 中的条目:
0 ibm1104 0
注意:这表明数据库是在 ESE 环境的单个节点中。
验证 vi etc/services 文件中的可用端口:
DB2_v8inst1 60000/tcp
DB2_v8inst1_1 60001/tcp
DB2_v8inst1_2 60002/tcp
DB2_v8inst1_END 60003/tcp
db2c_v8inst1 58111/tcp
注意:分区的逻辑和/物理节点可以使用 4 个端口。
更新 .rhosts 文件:
vi ~/.rhosts file
ibm1104 v8inst1
添加 DBPARTITION:
db2start
dbpartitionnum 1 add dbpartitionnum hostname ibm1104 port 1 without tablespaces
db2 terminate
db2stop
db2start
验证 ~/sqllib/db2nodes.cfg 中的条目:
0 ibm1104 0
1 ibm1104 1
注意:1 ibm1104 1 逻辑端口是通过以下命令添加的:
基本的状态检查:验证节点 1 正常工作:
export DB2NODE=1
db2 terminate
db2 "values (current dbpartitionnum)"
注意:对于当前的分区数目(dbpartitionnum),values 命令应返回 1。
回到节点 0(协调节点):
export DB2NODE=0
db2 terminate
db2 "values (current dbpartitionnum)"
注意:对于当前的分区数目(dbpartitionnum),该命令应返回 0。
步骤 6. 在两个逻辑节点中创建>系统临时表空间
在节点 1 上创建文件>系统 /dpf_tmp_fs/temp_4k —— 物理磁盘:
db2 connect to ABCDB
db2 "alter tablespace tempspace1 add (/dpf_tmp_fs/temp_4k) on dbpartitionnum (1)"
如果将 8 KB、16 KB 或 32 KB 的页面大小用于 ESE 环境中的 ABCDB 数据库,那么需要发出下列用于 8K、16K、32K 页面临时表空间的命令。(请参阅 步骤 2. 收集当前实例和数据库环境 中的 tabsp.out,以验证页面大小。)
db2 "alter tablespace temp_8k add (/dpf_tmp_fs/temp_8k) on dbpartitionnum (1)"
db2 "alter tablespace temp_16k add (/dpf_tmp_fs/temp_16k) on dbpartitionnum (1)"
db2 "alter tablespace temp_32k add (/dpf_tmp_fs/temp_32k) on dbpartitionnum (1)"
步骤 7. 在节点 0 和节点 1 上创建数据库分区组
执行下列命令来创建分区组:
db2 "create database partition group pgr01 on dbpartitionnums (0,1)"
步骤 8. 创建缓冲池
执行下列命令来创建适当的缓冲池:
db2 “create bufferpool BP4K database partition group pgr01 size 10000"
db2 “create bufferpool BP8K database partition group pgr01 size 8000"
db2 “create bufferpool BP16K database partition group pgr01 size 5000"