在异种平台间移动数据
2.1 使用 IMPORT和LOAD 时代码页注意事项:缺省情况下,DB2 IMPORT 和DB2 LOAD实用程序认为输入文件中的数据是用当前系统的代码页编码的。IMPORT 实用程序 CODEPAGE 修饰符提供了一种附加功能。CODEPAGE 修饰符会强制 DB2 首先将数据文件从修饰符的值转换成当前系统代码页,然后再从当前系统代码页转换成数据库代码页,例如:
db2 import from data.939 of asc modified by codepage=939 method L (1 6) insert into tableName
请注意:如果数据文件包含当前系统代码页中不存在的字符,则在 导入或装入到数据库时,会丢失该字符。在代码页转换过程中,当数据扩展时可能会发生截断现象。
可以输入以下命令来找到数据库代码页:
db2 get db cfg for eos | grep -i "Database code set"

使用 EXPORT 时代码页注意事项:
缺省情况下,DB2 EXPORT 实用程序使用当前系统代码页将数据写入到输出文件中。当将数据从数据库导出到文件时,DB2 会自动将数据从数据库代码页转换成当前系统代码页。如果 EXPORT 命令中有 CODEPAGE 修饰符,则 DB2 将数据从数据库代码页转换成当前系统代码页,然后再从当前系统代码页转换成 CODEPAGE 修饰符所指定的代码页,例如:
db2 export to data.943 of del modified by codepage=943 select * from tableName


2.2 数据库移动工具 db2move:
在调用 db2move 命令之前,并不需要数据库连接;该工具会为您建立数据库连接。
db2move命令的基本语法如下所示:
db2move <database-name> <action> [<option> <value>]
首先指定数据库名和要执行的操作(export、import 或 load),然后指定一个选项来定义操作的范围。例如,可以将一个操作限制在特定的表(-tn)、表空间(-ts)、表创建者(-tc)或模式名(- sn)范围内。指定表、表空间或表的创建者的一个子集只对 export 操作有效。如果指定多个值,就必须使用逗号将其分隔开;在值列表项之间不允许有空格。可以指定的项最多为 10 个。
另外,也可以指定 -tf 选项,此时要使用一个文件名作为参数,其中列出了要导出的表名;在该文件中,每行只能列出一个完整的表名。
还可以指定以下内容:
-io import-option
指定 DB2 的 import 工具可以运行的一种模式。有效的选项有: CREATE、 INSERT、 INSERT_UPDATE、 REPLACE 和 REPLACE_CREATE。缺省值为 REPLACE_CREATE。
-lo load-option
指定 DB2 的 load 工具可以运行的一种模式。有效的选项有:INSERT 和 REPLACE。缺省值为 INSERT。
-l lobpaths
指定要创建或查找的 LOB 文件的位置。必须指定一个或多个绝对路径名。如果指定了多个绝对路径,就必须使用逗号将其分隔开;值之间不允许有空格。缺省值是当前目录。

-u userid
指定一个用户 ID,该工具可以使用这个用户 ID 登录到远程系统上。
-p password
指定对该用户进行认证的密码;该工具需要使用一个有效的用户 ID 和密码登录到远程系统上。


2.3 DB2统计信息和DDL提取工具db2look:
db2look工具提取了 DDL 语句,在其他系统上重建数据库对象时需要使用这些 DDL 语句。在调用 db2look 命令之前,不需要提前建立数据库连接;这个工具会为您建立数据库连接。
db2look命令的基本语法如下所示:
db2look -d <database-name> [<option1> <option2> <option n>]
首先需要指定数据库名,然后指定一个或多个选项来定义提取的的范围,包括:
-e
提取数据库对象的 DDL 语句,例如表、视图、自动摘要表、索引、触发器、序列、主键、引用、检查约束、用户定义函数和过程。
-a
提取用户创建的所有对象的 DDL 语句。例如,如果这个选项与 -e 选项一起指定,那么就要对数据库中的所有对象都进行处理。
-z schema-name
将输出限制为具有指定模式名的对象。
-t table-name
将输出限制在一个或多个(最多 30 个)指定的表中。表名必须使用空格字符分隔开。
-m
生成需要的 UPDATE 语句,对表、列和索引的统计信息进行复制。
-l
为用户定义的表空间、数据库分区组和缓冲池生成 DDL 语句。
-x
生成对数据库对象进行授权或回收权限的 DDL 语句。
-td delimiter
指定 db2look工具使用的分隔符;缺省值为分号(;)。
-o file-name
将输出结果写入一个文件。如果没有指定该选项,就将输出结果写入标准输出设备。
-i userid
指定用户 ID,该工具需要使用它登录到远程系统上。
-w password
指定对该用户进行认证的密码;该工具需要使用一个有效的用户 ID 和密码登录到远程系统上。