DB2 LOAD 工具使用技巧集合
2010-04-15 00:00:00 来源:WEB开发网清单 7. LOAD 命令执行状态
>db2 list utilities show detail
标识 = 5
类型 = LOAD
数据库名称 = SAMPLE
分区号 = 0
描述 = OFFLINE LOAD DEL AUTOMATIC INDEXING INSERT COPY NO YUAN .T1
开始时间 = 2009-01-05 10:44:57.203583
状态 = 执行
调用类型 = 用户
进度监视: 阶段号 = 1 描述 = SETUP 总计工作 = 0 bytes 已完成的工作 = 0 bytes
开始时间 = 2009-01-05 10:44:57.203592
阶段号 [ 当前 ] = 2 描述 = LOAD 总计工作 = 2174631 rows
已完成的工作 = 1106547 rows 开始时间 = 2009-01-05 10:44:57.248663
上面的输出中只有两个阶段,如果有目标表有索引存在的话还会有第三个阶段 -BUILD 阶段。评估正在执行着的 LOAD 工具的剩余时间主要通过比较“总计工作”和“已完成的工作”这个两个值大小和比例。
使用 LOAD 观察表的状态
我们知道,观察数据库的状态可以通过快照或 list db 命令,观察表空间的状态可以通过快照或 list tablespace 命令,而观察表的状态我们通常只知道快照可以反映表被访问的一些情况,而当表不可用的时候,需要获得表的故障状态时候却没有对应的 list 命令可以使用。
那么这种情况下,我们可以使用 LOAD QUERY 工具来实现。示例如下:
清单 8. 观察表的状态
C:\Program Files\IBM\SQLLIB\BIN>db2 "select * from t1"
DEPTNUMB DEPTNAME MANAGER DIVISION LOCATION
-------- -------------- ------- ---------- -------------
SQL0668N 不允许对表 "YUAN.T1" 执行操作,原因码为 "3" 。 SQLSTATE=57016
C:\Program Files\IBM\SQLLIB\BIN>db2 load query table t1
SQL3501W 由于禁用数据库正向恢复,因此表所驻留的表空间将不被置于备份暂挂状态。
SQL3109N 实用程序正在开始从文件 "e:\t1.out" 装入数据。
SQL3500W 在时间 "2009-01-05 10:52:56.661277",实用程序在开始 "LOAD" 。
SQL3519W 开始装入一致点。输入记录数 = "0" 。
SQL3520W “装入一致点”成功。
SQL3005N 处理被中断。
SQL3532I Load 实用程序当前正处于 "LOAD" 阶段。
读取行数 = 0
跳过行数 = 0
装入行数 = 0
拒绝行数 = 0
删除行数 = 0
落实行数 = 0
警告数 = 0
表状态: 装入暂挂
由此,我们可以判断,当前的表不能被访问,是由于处于“装入暂挂”的状态,那么我们可以通过 LOAD 工具将 LOAD 执行完 (restart) 或终止 (terminate) 将这个故障处理掉再访问这个表。
使用 LOAD 快速的清空一张表
在不需要一张表中的数据的时候,我需要将其清空。而做这个工作我们可以选择多种办法:
删除表中数据:delete from tablename
不记 log 删除表中数据: alter table tabname activate not logged initially;delete from tablename
修改表不记录 log 方式:alter table tabname activate not logged with empty table
LOAD 的 replace 方式:load from empfile of del replace into tabname
注:文件 empfile 为空
“ 1 ”的方式可用性非常差,会消耗大量的时间和 log 空间,一般不使用。除非需要有选择的删除数据的时候。
“ 2 ”的方式可以使用,但是过于麻烦,尤其还要注意两条语句必须在同一事务中执行。
“ 3 ”的方式是一种较好的快速清空数据表的方式。
“ 4 ”的方式也是一种较好的快速清空数据表的方式,而且对于“ 3 ”来说,过程更加可控,因为 load 支持 restart 和 terminate 等故障控制选项。
所以推荐使用“ 4 ”的方式来快速的清空一张表。
- ››Loader和Fragment使用示例代码
- ››DB2 最佳实践: 使用 DB2 pureXML 管理 XML 数据的...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 基础: 表空间和缓冲池
- ››DB2 XML 编程,第 1 部分: 理解 XML 数据模型
- ››DB2 pureScale 实战
- ››DB2 存储过程中如何使用 Optimization Profile
- ››DB2 pureScale 新特性 -- Member Restart
- ››DB2 Express-C 9.7.2 新增特性
- ››DB2 9.7 新特性 - 内联 LOB 的使用
更多精彩
赞助商链接