Chinaunix首页 | 论坛 | 博客
  • 博客访问: 154228
  • 博文数量: 51
  • 博客积分: 750
  • 博客等级: 上士
  • 技术积分: 440
  • 用 户 组: 普通用户
  • 注册时间: 2011-08-26 17:27
文章分类

全部博文(51)

文章存档

2012年(11)

2011年(40)

分类: DB2/Informix

2011-11-10 19:53:28

1)
alter table 表名 activate not logged initially whith empty table
2)使用空文件为数据文件导入并替换表中数据
export to test.ixf of ixf messages log.txt select * from test where 1=2 import from test.ixf og ixf messages log1.txt replace into test

import from /home/null of del replace into test

如果使用"delete table"命令删除整个大表中的数据,由于这个命令采用逐条删除,并把该操作记入活动的交易日志,将会耗费大量的活动日志空间,
有可能造成数据库交易日志已满错误,另外,这样删除大表数据耗费的时间也很长。对于属于DMS表空间(数据库管理表空间 用户自己的表空间)的表来说,
删除命令逐条扫描记录,所占的记录空间仍然标记为该表所用,而不立即释放空间,需要用REORG命令才可以释放剩余空间。

使用以上两种DB2快速清空方法进行快速清空一张大表,将使DB2交易日志只记录该条命令,并立即释放所占用的空间,而不会像删除命令一样逐条扫描记录。
从而节省大量的数据库交易日志和处理时间。用load命令加replace参数可以达到类似import命令加replace的效果。但由于load本身不记录日志,
load完成后建议马上做一下联机备份的,相比之下,import命令加replace操作上比较简单一些。


示例:
import from /ShareDisks/db2data/pisalt/aaa.del of del replace into user
import from /ShareDisks/db2data/pisalt/aaa.del of del replace into SERVICE

reorg命令用法
reorg  table 表名
db2 reorg table SERVICE

阅读(6856) | 评论(0) | 转发(0) |
0

上一篇:DB2基础知识一

下一篇:Core文件的分析

给主人留下些什么吧!~~