网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > DB2教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.DB2高可用性灾难恢复(HADR)的限.
.在UNIX上安装DB2 UDB修订包的实用.
.Microsoft Excel用ODBC轻松获DB2.
.DB2用户观点:pureQuery和DB2 9的.
.DB2数据库的数据复制技术简单概述.
.DB2 与 Microsoft SQL Server 20.
.使用DB2数据库临时表的注意事项.
.讲解DB2数据库性能调整的十个实用.
.IBM DB2通用数据库和信息管理(1.
.用.Net开发DB2数据库应用程序(1.
.Window下修改DB2密码后不能启动的.
.讲解使用IBM DB2例程简化迁移的具.
.基于DB2的数据库应用系统的性能优.
.经验总结:DB2数据库功能及性能使.
.DB2 实用程序介绍之LOAD实用程序.
.讲解捕获IBM DB2 SQL的执行快照的.
.Windows环境下如何卸载DB2数据库.
.讲解DB2数据库编程所应掌握的基本.
.DB2 Spatial Extender 性能调优(.
.执行DB2的命令有哪些方式?.

IBM DB2 的数据复制、迁移方法

发表日期:2008-2-9


  以下方法经测试,在环境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脚本代码示例:/**
* 创建导出脚本
* @param conn
* @param creator 表创建者
* @param filePath
*/
public void createExportFile(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 "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脚本代码示例:/**
* 创建装载脚本
* @param conn
* @param creator 表创建者
* @param filePath
*/
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
上一篇:选择 IBM DB2数据库的五大理由 人气:858
下一篇:IBM 数据库 DB2 9 的九大新特性(1) 人气:986
浏览全部DB2教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐