本文展示如何将数据库从 DB2 UDB ESE V8.2 单个分区环境迁移到 DPF(逻辑分区)环境,演示如何在脱机情况下划分数据库,以及如何将数据库从 ESE 迁移到 DPF 逻辑节点环境等。
步骤 1. 备份 ESE 数据库
首先要备份数据库,确保在发生错误时,可以恢复到前面的环境。从命令行输入下列命令。在本例中,“ABCDB”是数据库名,而/db2backup 是存储该备份的路径。
db2stop force
db2start
db2 backup database ABCDB to /db2backup
|
步骤 2. 收集当前实例和数据库环境
从 DB2 命令行执行下列命令,以便搜集并存储当前环境的所有细节。
db2 connect to ABCDB
db2 get dbm cfg > dbm.out
db2 get db cfg for ABCDB > db.out
db2set –all > db2set.out
db2 "select * from syscat.bufferpools" > bp.out
db2 list tablespaces show detail > tblsp.out
db2look –d ABCDB –e –l –a –o db2look.out
|
步骤 3. 生成 DDL
接下来是生成数据定义。
- 从命令行执行db2look 命令,以生成 DDL:
db2look -d ABCDB -t S_OPTY_POSTN -e -l -a -o S_OPTY_POSTN.ddl
|
- 将 ddl文件复制到不同的文件中:
cp S_OPTY_POSTN.ddl S_OPTY_POSTN_tbl.sql
|
- 将 S_OPTY_POSTN_tbl.sql 修改为只保存表 ddl。
- 再次重复前面的操作,将这个 ddl 文件复制到不同的文件中:
cp S_OPTY_POSTN.ddl S_OPTY_POSTN_idx.sql
|
- 将 S_OPTY_POSTN_idx.sql 修改为只保存索引和约束条件 ddl。
- 再一次执行同样的操作,将这个 ddl 文件复制到用于视图的不同文件中:
cp S_OPTY_POSTN.ddl S_OPTY_POSTN_vw.sql
|
- 修改 S_OPTY_POSTN_vw.sql 来保存视图 ddl。
步骤 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 中的条目:
注意:这表明数据库是在 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
|