永发信息网

DB2的复制迁移

答案:1  悬赏:0  手机版
解决时间 2021-04-07 09:40
DB2的复制迁移
最佳答案
以下方法经测试,在环境IBM x346,3.2G×2,4G,RAID 1,DB2 V8.2.4,Win2000 Adv Server,DMS表空间中,数据的load速度在60-100万条/min左右。
背景:需要更改数据库表空间,或者需要将数据库中所有表的数据迁移到一个新的数据库中。
步骤:
1.通过db2控制台(db2cc)选中源数据库中的所有表,将其导出成DDL脚本;
2.根据需要对脚本进行必要的修改,譬如更改表空间为GATHER;
3.新建数据库,新建DMS表空间:GATHER;
4.将DDL脚本在此数据库中执行;
5.编写代码查询源数据库中的所有表,自动生成export脚本;
6.编写代码查询源数据库中的所有表,自动生成import脚本;
7.连接源数据库执行export脚本;
8.连接目标数据库执行import脚本;
附录1:生成export脚本代码示例:
public void createExportFile(Connection conn,String creator,String filePath) throws Exception {
DBBase dbBase = new DBBase(conn);
String selectTableSql 2= select name from sysibm.systables where creator = ' + creator + ' and type='T';
try {
dbBase.executeQuery(selectTableSql2);
} catch (Exception ex) {
throw ex;
} finally {
dbBase.close();
}
DBResult result = dbBase.getSelectDBResult();
List list = new ArrayList();
while (result.next()) {
String table = result.getString(1);
list.add(table);
}
StringBuffer sb = new StringBuffer();
String enterFlag = ;
for (int i = 0; i < list.size();i++) {
String tableName = (String)list.get(i);
sb.append(db2 export to aa + String.valueOf(i+1)+ .ixf of ixf select * from + tableName + );
sb.append(enterFlag);
}
String str = sb.toString();
FileUtility.saveStringToFile(filePath, str, false);
} 附录2:生成import脚本代码示例:
public void createLoadFile(Connection conn,String creator,String filePath) throws Exception {
DBBase dbBase = new DBBase(conn);
String selectTableSql = select name from sysibm.systables where creator = ' + creator + ' and type='T';
try {
dbBase.executeQuery(selectTableSql);
} catch (Exception ex) {
throw ex;
} finally {
dbBase.close();
}
DBResult result = dbBase.getSelectDBResult();
List list = new ArrayList();
while (result.next()) {
String table = result.getString(1);
list.add(table);
}
StringBuffer sb = new StringBuffer();
String enterFlag = ;
for (int i = 0; i < list.size();i++) {
String tableName = (String)list.get(i);
sb.append(db2 load from aa + String.valueOf(i+1)+ .ixf of ixf into + tableName + COPY NO without prompting );
sb.append(enterFlag);
}
String str = sb.toString();
FileUtility.saveStringToFile(filePath, str, false);
} 附录3:export脚本示例db2 connect to testdb user test password test
db2 export to aa1.ixf of ixf select * from table1
db2 export to aa2.ixf of ixf select * from table2
db2 connect reset 附录4:import脚本示例db2 connect to testdb user test password test
db2 load from aa1.ixf of ixf replace into table1 COPY NO without prompting
db2 load from aa2.ixf of ixf replace into table2 COPY NO without prompting
db2 connect reset

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
什么样的男生会有女孩喜欢,我长得还可以,身
微爱怎么在手机上隐藏?
我新买的荣威350S冷却液消耗的非常快,3月22
艾格羽绒服标签是干洗?会不会影响面料啊
试编制图中零件的数控车削加工程序
负债属于外部融资么
G4600配个打LOL的主机,有毛病没
中医推拿颈肩腰腿痛康复正骨堂我想知道这个在
来也空,去也空,人生在世一场空出自哪里?
步步高x5手机怎么设置2g网络啊?
数学专业好不好学?
诺基亚1050屏幕上方出现一个像磁带一样两个圆
地下城现在的剧情任务经验高还是普通地下城接
能把宽松上衣两侧改成开叉的吗
网上能查到社保卡里的钱数么
推荐资讯
请教做面点高手:我每次做出来的馒头或者花卷
公司新建账老板给会计十万元现金怎么入账
有什么办法可以遮住脸上的痘印吗?我是男生
走 路的人渴望坐小汽车,坐小汽车的人羡慕走
当猫咪遇上熊孩子,如何让熊孩子和家猫和平共
处方缩写问题,静推就是iv吗?
2017年2月2号,2号线地铁到天河机场吗?还是
明日小满是什么意思
江西樟树原防疫站地址
求头脑特工队的资源 谢谢免费
《等你等到我心痛》在这美丽的夜里, 等你等到
合肥市邮政速递物流公司井岗路揽投部在哪里啊
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?