[DB2]DB2数据库备份与恢复和导出表结构与导入导出表数据

时间:2024-03-10 16:00:49

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 需要更多的权限)