DB2 在线导出

1. 导出表结构、视图、存储过程、触发器、函数、序列等,不包含Blob等二进制对象导出到指定的文件中

在DB2控制台中执行命令如下:

db2look -d tb33 -e -a -x -i tb33 -w tb33 -o TB33.SQL

参数说明:

-d: 指定数据库名称

-e:抽取复制数据库所需要的 DDL 文件

-a: 为所有创建程序生成统计信息

-x: 生成排除对象的原始定义程序的“授权”语句 DDL

-i:登录到数据库驻留的服务器时所使用的用户标识

-w: 登录到数据库驻留的服务器时所使用的密码

-o: 将输出重定向到给定的文件名


2. 导出表数据

导出表数据分两步执行:生成导出命令脚本文件;执行导出命令脚本文件。

1. 生成导出命令脚本文件:

通过DB2Manager工具执行下面的语句生成导出表数据命令,其中 type=’t’ 表示仅导出表数据;

--导出表数据语句
select 'export to H:\db2\TB33\'|| rtrim(tabname) || '.ixf of ixf select * from ' || rtrim(tabname) || ';' from syscat.tables where tabschema = 'TB33' and type='T'

命令执行说明:

将生成schema为 TB33 数据库中所有表数据的导出命令; 这个导出命令指定将每一张表的表数据保存为 表名.ixf的文件; 保存路径为 H:\db2\TB33\下;将执行后生成的导出命令保存为一个export.txt 的文件。

2. 执行导出命令脚本文件:

再通过 DB2的控制台执行命令为 :

db2 –tvf export.txt。

参数说明:

-t 设置语句终止字符

-v 在控制台上显示执行内容

-f 读取输入文件

脚本成功执行后,将在目录为 H:\db2\TB33\下生成 表名.ixf 表数据信息。






DB2在线导入

注意:在导入前一定要确定表空间的名称及页大小的一致,及schema的一致。

1. 导入表结构、视图、存储过程、触发器、函数、序列等,不包含Blob等二进制对象导出到指定的文件中

在DB2控制台中执行如下命令:

--登陆DB2
db2 connect to tb33_s

--指定schema

db2 set current schEmA tb33

--导入TB33.sql 为DB2的导出文件
db2 -tvf TB33.SQL

-t 设置语句终止字符

-v 在控制台上显示执行内容

-f 读取输入文件

2. 导入表数据

导入表数据分两步执行:生成导入命令脚本文件;执行导入命令脚本文件。

1. 生成导入命令脚本文件:

通过DB2Manager工具执行下面的语句生成导入表数据命令,其中 type=’t’ 表示仅导出表数据;

--导入表数据语句
select 'import from H:\DB2\TB33\'||rtrim(tabname)||'.ixf of ixf insert into'||' '||rtrim(tabname)|| ';' from syscat.tables where tabschema = 'TB33' and type='T'

命令执行说明:

将生成schema为 TB33 数据库表数据的导入命令;将路径为 H:\db2\TB33\下的所有表结构文件导入;

将执行后生成的导出命令保存为一个import.txt 的文件。

2. 执行导入命令脚本:

再通过 DB2的控制台执行命令为

db2 –tvf import.txt

-t 设置语句终止字符

-v 在控制台上显示执行内容

-f 读取输入文件

脚本成功执行后,在DB2Manager中对数据表查询,将看到导入的数据。