DB2数据库导入和导出
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1. 概述
用于DB2数据移动的文件格式,共有四种:
1. DEL:带分隔符的ASCII文件,行分隔符和列分隔符将数据分开。
2. ASC:固定宽度的ASCII文件,行按照行分割符分开,列定长。 3. PC/IXF(Integration Exchange Format,IXF):只能用来在 DB2之间导数据,根据类型数字值被打包成十进制或者二进制, 字符被保存为ASCII,只保存变量已经使用了的长度,文件中包括 表的定义和表的数据。 4. WSF(Work Sheet Format):工作表方式导入导出,这种格式 的文件类型用的比较少。
DB2导入/导出
1. 2. 3. 4.
概述 使用DB2 MOVE导入、导出数据 使用Export/IMPORT导入、导出数据 使用LOAD导入数据
DB2系统的层次结构
1. 2. 3. 4. 5. 6.
7.
8.
驱动器/目录 —— 在 CREATE DATABASE 命令中指定的驱动器或目录 DB2 实例名称 —— DB2 实例所有者的名称。 NODE0000 —— 数据库的分区数。0 表示非分区的数据库。 SQL00001 —— 从 1 开始的数据库 ID。 SQLOGDIR —— 数据库的默认日志目录。 SQLT0000.0 —— 目录表空间 SYSCATSPACE。 SQLT0001.0 —— 临时表空间 TEMPSPACE1。 SQLT0002.0 —— 用户表空间 USERSPACE1。
4
1. 概述
文件类型 DEL(带分隔符) IXF WSF工作表 Import 支持 支持 支持 Export 支持 Load 支持
ASC(固定宽度) 支持
不支持
支持 支持
支持
支持 不支持
2. 使用DB2 MOVE导入、导出数据
db2move是一个集成式的数据移动工具,它支持导出 (export)、导入(import)、装入(load)三种 操作方式。 db2move用于不同操作系统之间(如linux和windows)的数 据转移。 命令:
注意:
db2move import方式只能导入“普通”的表,如果表中存在自增长的 IDENTITY列,那么使用db2move import时会出错。这是因为,如果 IDENTITY列创建表的时候都是定义成always的话,那么在导入数据的时候该 列数据是不能被赋值的,而是应该由系统生成,使用db2move无法导入这样 的表。对于这种含有IDENTITห้องสมุดไป่ตู้列的表,只能使用db2 import指令来进行导入
2. 使用DB2 MOVE导入、导出数据
使用db2move import方式不需要先建表结构,即, 准备好一个空库就行了。这一点与load方式不一样, load方式需要先建立表结构。 例如:将数据全部导入到mytestdb数据库中
db2move mytestdb import –u db2inst1 –p password
4. 使用LOAD导入数据
DB2 Load 可以更快的将数据文件导入到数据表中。 DB2 Load 不会与DB2 数据引擎发生交互,所以当 使用Load 工具时,不会触发触发器也不会使用缓冲 池。 DB2 LOAD 允许追加或替换数据。 例如: (1)db2 load from test.txt of del insert into test (2)db2 load from stafftab.ixf of ixf messages staff.msgs replace into staff nonrecoverable
若表中存在自增长的IDENTITY列,需要使 用相应的参数才能导入,比如:
import from mytbl2.ixf of ixf modified by identityignore insert into mytbl2
导入命令的一些关键参数如下:
INSERT:不修改当前数据,向目标表添加新的行。 INSERT_UPDATE:向目标表添加新的行,或更新匹配 主键的已有行。 REPLACE:删除目标表中所有已有数据后,向目标表插 入导入数据。 CREATE:创建表定义并插入新行。 COMMITCOUNT n:每导入n条记录就提交一次更改,用 来降低数据丢失的风险。 RESTARTCOUNT n:跳过前n条记录,从n+1开始导入 数据,可以减少导入量,但是必须指定COMMITCOUNT 参数。 COMPOUND n:指定在一个可之行操作中包含n条SQL 语句,可以提高性能。
db2move <database-name> <action> [<option> <value>]
其中: action: export、import、load
option: -tn(特定的表)、-ts (表空间)、-tc(表创建者)、
-sn(模式名) 、-u(用户id)、-p(密码)
2. 使用DB2 MOVE导入、导出数据
例如:导出sample数据库中的全部数据 db2move sample export –u db2inst1 –p password
说明: • 每个表的内容都存储在一个.ixf文件中,每个.ixf文件都有一个与之 相对应的.msg文件(用于描述从表中导出数据时的信息); • db2move.lst用来记录.ixf文件、.msg文件与表的一一对应关系; • EXPORT.out记录的是导出数据时的屏幕输出。
9
3.使用Export/IMPORT导入、导出数据
import和export是一对存在对应关系的指令, import支持四种格式:ASC, DEL, WSF, IXF 。 有关db2 import的帮助: db2 ? import 例如: import from emp.ixf of ixf insert into emp
3.使用Export/IMPORT导入、导出数据
与上面提到的db2move的export功能不同,db2 export是一个更加细致的导出工具,它支持三种数据 文件格式:DEL, WSF, IXF。 有关db2 export的帮助: db2 ? export 例如: export to emp.txt of del select * from emp export to emp.ixf of ixf select * from emp 若需要记录导出过程中的message,使用: export to emp.ixf of ixf messages emp.msg select * from emp