DB2数据迁移
概 要
数据移动格式
导出(EXPORT)工具
导入(IMPORT)工具
导入(LOAD)工具
db2move 工具
db2look 工具.
DB2数据迁移
数据库B
数据库A
数据文件
EXPORT
IMPORT
LOAD
单表操作
DB2MOVE
多表操作
DB2LOOK
数据库A
脚本文件
数据库操作
数据文件
数据库A
数据移动格式
ASC\DEL 文本文件。
WSF 工作表格式 主要用于LOTUS软件。
IXF 集成交换格式。
ASC,DEL,WSF在跨平台可能会导致数据丢失.跨平台建议使用IXF。
数据移动格式
数据库表
DEL文件:可视
IXF文件:不可视
导出工具
EXPORT
Export用于将数据从数据表中导出几种格式的文件中。其实,它执行了一个SQL 的SELECT操作。
支持DEL,IXF,WSF,不支持ASC。
导出(EXPORT)工具
BD2命令行,如:
C:\>db2 connect to sample
C:\>db2 export to C:\ of ixf select * from test
导出(EXPORT)工具
控制中心:点击Export选项之后会出现一个向导,根据向导提示操作即可一步步的完成导出操作
(Import,Load也可以通过控制中心执行)。
导入工具
IMPORT
支持DEL,IXF,WSF,ASC。
LOAD
支持DEL,IXF,ASC,不支持WSF。
区别:Import可以创建表和索引,支持触发器记录日志,但速度较慢。Load导入时表必须存在,不支持触发器,不记录日志,速度较快。
导入(IMPORT)工具
Import用于将数据文件导入到数据表中。
主要方式:
方式 描述 目标表 原有数据 支持格式
Insert 插入操作 需要存在 保留 所有格式
insert_update 更新键值操作 需要存在 保留或更新 所有格式
Repalce 删除原有数据,插入新数据 需要存在 删除 所有格式
Replace_Create 删除原有数据,插入新数据 不存在则创建 删除 IXF
Create 导入数据至新表 创建新表 无 IXF
导入(IMPORT)工具
例:
C:\>db2 Import from of ixf
REPLACE_CREATE into test1
例:
C:\>db2 Create table test2 like act
C:\>db2 Import from C:\ of del
INSERT into test2
导入(LOAD)工具
Load不能创建表及索引,故不能使用Create方式。
主要方式:
方式 描述 目标表 原有数据 支持格式
Insert 插入操作 需要存在 保留 Load支持格式
Repalce
删除原有数据,插入新数据 需要存在
删除
Load支持格式
导入(LOAD)工具
例:
C:\>db2 connect to sample
C:\>db2 Load from of del
REPLACE into test1
例:
C:\>db2 Create table test2 like act
C:\>db2 Load from C:\ of del
INSERT into test2
数据导出导入
设计如下两个相同结构表:
数据导出导入
数据Export导出:
(1)数据Import导入: Insert
执行 db2 imoprt from c:\ insert into test2
数据导出导入
数据导出导入
Import利用Insert方式导入结果:
Test1插入到Test2表中。
Test2表
数据导出导入
(2)数据Import导入: Replace_Create
执行: db2 import from c:\ of ixf replace_create into test2
执行结果:
表Test2原有数据被删除,插入表Test1数据。
数据导出导入
(3)数据Import导入: Replace_Create
执行 db2 import from c:\ of ixf replace_create into test3
Import利用Replace_Create方式导入结果:
Import工具建立了表Test3,并插入导入数据。
Replace_Create:
表存在,执行Replace;
表不存在,执行Create。
数据导出导入
db2move 工具
Export,Import和 Load每次都只对一个表进行操作。但是您若使用它们来写一段脚本,就可对一个数据库中的所有的表进行操作。 db2move可以更方便地完成同样的工作。
db2move工具只兼容IXF格式的文件。
db2move不可以通过控制中心来调用。
db2move 工具
语法格式:
db2move <dbname> <Action> <Option>
Action: Exoprt,Import,Load,Copy
导出,例:C:\test>db2move sample export
1,db2move会自动连接至目标数据库实例。
2,自动生成的IXF文件会保存在当前命令行目录(C:\test)。
db2move 工具
导入,例:C:\test>db2move t0 imoprt
db2look 工具
db2look工具则可以将DDL语句、数据库统计状态、表空间参数导出到一个脚本文件中,这个文件可以用于不同系统的数据库。
命令为:
db2look -d <数据库名> <-参数> <脚本名>
参数可以输入db2look -h察看。
脚本文件扩展名可以是ddl,sql,xml等。
通过db2 -tvf <文件名>来导入数据库。
我的例子:
(1) 执行C:\>db2look -d T0 -a -e -x -o
不需要数据库连接,输出文件在C盘符下.
(2) 建立一个新的数据库T2。
执行 C:\>db2 connect to T1
C:\>db2 -tvf
db2look 工具
db2look 工具
报错! 创建对象与现有对象相同
db2look 工具
分析:
db2look 工具
改正: 在另一台机器上建立数据库T0,或删除本机T0数据库,重新执行脚本导入命令。
分析:要先连接至T0数据库,然后在当前T0数据库中建立先前T0数据库结构。
成功! 新的数据库T0中,先前从sample倒入的test1,test2,test3等表均为空表。
db2look 工具
空表。表中数据通过导入导出工具传输
谢 谢
谢 谢