[DB2]DB2数据库备份与恢复和导出表结构与导入导出表数据
DB2数据库备份: db2 backup database 数据库名(eshop) (通常需要停止数据库db2stop force,并重新启动db2start)
DB2数据库恢复: db2 restore database 数据库名(eshop) taken at 时间戳(20110617142803) (需要先cd跳转到原备份目录)
DB2导出表结构:
方法一
在控制中心的对象视图窗口中,选择所要导出表结构的数据表,按住Ctrl或Shift可多选,单击鼠标右键,选择->生成DDL即可。
方法二
◆第一步:打开DB2的命令行工具,在DB2安装目录的BIN文件夹下新建一个文件夹data,并且进入该目录。
创建该目录: mkdir data
进入该目录: cd data
◆第二步:导出表结构,命令行如下:
db2look -d dbname -e -a -x -i username -w password -o ddlfile.sql
执行成功之后,你会在刚才新建的文件夹下找到该sql文件。
◆第三步:导出数据,命令行如下:
db2move databasename export -u username -p password
至此,导出数据结束。
DB2导出表数据:
export to [path(例:D:"TABLE1.ixf)] of ixf select [字段(例: * or col1,col2,col3)] from TABLE1;
export to [path(例:D:"TABLE1.del)] of del select [字段(例: * or col1,col2,col3)] from TABLE1;
DB2导入表数据:
import from [path(例:D:"TABLE1.ixf)] of ixf insert into TABLE1;
load from [path(例:D:"TABLE1.ixf)] of ixf insert into TABLE1;
load from [path(例:D:"TABLE1.ixf)] of ixf replace into TABLE1; // 装入数据前,先删除已存在记录
load from [path(例:D:"TABLE1.ixf)] of ixf restart into TABLE1; // 当装入失败时,重新执行,并记录导出结果和错误信息
import from [path(例:D:"TABLE1.ixf)] of ixf savecount 1000 messages [path(例:D:"msg.txt)] insert into TABLE1;// 其中,savecount表示完成每1000条操作,记录一次.
存在自增长字段的数据导入:
load from [path(例:D:"TABLE1.ixf)] of ixf modified by identityignore insert into TABLE1;// 加入modified by identityignore.
解除装入数据时,发生的检查挂起:
SET INTEGRITY FOR TABLE1 CHECK IMMEDIATE UNCHECKED;
命令只对数据通过约束检查的表有效,如果执行还不能解除,有必要检查数据的完整性,是否不符合约束条件,并试图重新整理数据,再执行装入操作.
另外,对load和import,字面上的区别是:装入和导入,但仍未理解两者之间的区别.
只是性能上load显然优于import.(load 需要更多的权限)