
数据移动工具
导入,导出,加载(所有一次只能处理一个表,主体可以处理该表,还可以处理其他一些对象)
以下格式的支持文件
IXF集成的交换格式(推荐)
DEL-Dellmlted ASCII(常用)
ASC非删除ASCII
WSF工作表格式
db2move-适合于导出多个表和其他数据集,格式必须为IXF
等效于批处理模式,用于导入,导出,加载
a,导出
a.1本质: 使用SELECT语句从中导出数据
a.2支持的导出数据格式(主要):
-IXF包含表定义,大多数属性和索引描述
-DEL Dellmlted ASCII格式
a.3使用MESSAGES选项记录错误信息,警告信息和成功导出的记录数
语法:
导出到{文件名(可以指定路径,文件名)} OF {文件名(文件类型)}
MESSAGES {消息文件(记录信息文件,您可以指定路径)} {SELECT语句}
其他附加选项可以通过MODIFIED BY导出操作进行自定义,例如: 分隔符,代码页等.
示例: 导出到{file-type}的{file-name}
由{file-type-modifier}修改
消息{消息文件} {SELECT语句}
示例:
导出到IXF的emp_photo.ixf
MESSAGES /db2log/exp.msg(MESSAGES可用于记录输出消息)

SELECT * FROM emp_photo;
导出到DEL的employee.del
由chardel修改过''Coldel!(MODIFIERS可用于自定义输出数据文件)
选择名字,姓氏
FROM员工
只能先查询10行;-分隔符可以自己定义
导出大对象
-默认情况下,每个LOB的值最多只能导出到32KBdb2导出insert语句,以便其他列的内容可以存储在其中
在同一文件中,如果超过32KB,它将被截断. 对于32KB的大字段,应单独指定文件
-您可以使用LOBSINFILE参数指定要保存到单个文件中的多个LOB
-LOB位置说明符是可以找到LOB数据位置的字符串
示例: (文件大于32KB)
导出到DEL的EMP.DEL
LOBFILE C: \ temp \ emp.LOBS(指定路径)
由LOBSINFILE修改(指定要保存到单个文件中的多个LOB)
选择*来自EMP;
结果: EMP.DEL中存在EMP.DEL中LOB字段大于32KB的所有记录,这种方式将是
解决表中大字段被截断的情况
b,导入: 将数据从文件导入表(记录日志,速度较慢)
b.1导入文件格式: IXF,DEL,ASC(固定长度的ASCII)
b.2使用MESSAGES选项记录错误信息,警告信息和成功导出的记录数
语法:
从myfile.ixf导入
IXF消息msg.out
[INSERT / INSERT_UPDATE / REPLACE / REPLACE_CREATE / CREATE]

INTO newtab;
INSERT: 在不更改现有数据的情况下将输入数据插入目标表
INSERT_UPDATE: 使用输入行的值用匹配的主键值更新该行,如果不匹配,则插入
REPLACE: 删除所有现有数据并插入数据,保留表和索引定义
REPLACE_CREATE: 删除所有现有数据并插入导入的数据,同时保留表和索引定义
如果目标表和索引不存在,请创建目标表和索引
创建: 创建目标表和索引,您可以指定创建新表的表空间的名称
示例:
从IXF的emp.ixf导入
COMMITCOUNT 1000
MESSAGES {message-file}
REPLACE_CREATE
INTO emp;
注意: COMMITCOUNT 1000(当插入的记录数达到1000时自动提交一次)
a. IMPORT在整个过程中记录日志,并且可能无法成功插入大量数据;
b. 即使提交成功,也会影响性能;
c,LOAD(不记录): 这是一个高速,低级的数据加载器
速度更快,适用于大量数据
LOAD过程分为四个阶段:
1. 加载
将数据加载到表中,并在必要时收集索引键和表统计信息. 并且,根据LOAD命令
由SAVECOUNT参数指定的时间间隔的恢复保存点或一致性点将生成指示在以下位置的信息
保存点成功加载的输入行数
2. 建立
在加载阶段基于索引键生成索引,对索引进行排序并收集索引统计信息

3. 删除
删除导致违反唯一键或主键的行. 如果指定了加载例外表,则删除的行将存储在该表中
4. 索引副本
将索引数据从系统临时表空间复制到原始表空间,并在指定READ ACCESS选项后加载
在操作过程中,只有在指定系统临时表空间来创建索引的情况下才会发生这种情况
-支持的格式包括DEL,ASC,PC / IXF,游标
-使用MESSAGES选项记录错误消息,警告消息和其他信息
-LOAD之前,目标必须存在,并且不能是系统表或临时表
-所需的授权和权利
-必须具有SYSADM,DBADM或LOAD权限
-INSERT模式必须具有INSERT权限
-RELPACE模式必须具有INSERT和DELETE权限
语法:
从IXF的emp.ixf中加载
MODIFIED BY {文件类型修饰符}-MODIFIERD BY可以应用修饰符来定义数据格式
消息{message-file}
REPLACE INTO emp;
设置emp的完整性
所有立即取消; -唯一键验证
在实际操作中,使用负载时,表的完整性可能会受到侵犯. 设置需要执行的完整性
立即检查消除了表检查挂起的状态.
d,db2move
轻松移动一组表和数据的方式
语法: db2move []
名称: 名称(要移动的表所在的)
action: 要执行的操作(导出,导入,加载)
选项: 指定一个选项来定义操作范围.
例如,您可以将操作限制为特定的表(-tn),表空间(-ts),表创建者(-tc)或架构名称(-sn).
指定表,表空间或表创建者的子集仅对导出操作有效. 如果指定了多个值,则必须用逗号分隔;
值列表项之间不允许有空格. 您最多可以指定10个项目.
-io导入选项
指定可以运行DB2导入工具的模式.
有效选项包括: CREATE,INSERT,INSERT_UPDATE,REPLACE和REPLACE_CREATE. 默认值为REPLACE_CREATE.
-lo加载选项
指定可以运行DB2加载工具的模式. 有效选项为: INSERT和REPLACE. 默认值为INSERT.
-l lobpaths
指定要创建或查找的LOB文件的位置. 必须指定一个或多个绝对路径名. 如果指定了多个绝对路径,则必须用逗号分隔;
值之间不允许有空格. 默认值为当前目录.
-u用户ID
指定该工具可用于登录到远程系统的用户ID.
-p密码
指定密码以验证用户身份;该工具需要使用有效的用户ID和密码登录到远程系统.
db2move是一个DB2数据传输命令db2导出insert语句,用于在不同操作系统(例如linux和Windows)之间进行数据传输.
您可以先使用db2move导出来导出数据,然后使用db2move import或db2move load来将数据导入另一个DB2.
导出方法:
创建一个空文件夹,输入要使用的文件夹
db2move Mydatabase导出导出数据.
导入方法:
输入导出的文件夹,然后输入命令db2move Newdb load
导入数据后,使用脚本创建索引和视图,并授权操作. 这样可以防止损坏表的完整性.
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-235260-1.html
关键是