在删除大表的时候, 经常会由于数据量太大, 造成日志文件满了, 接着无法删除数据.
以下是删除大表不记录日志的具体步骤:
1. 临时设置自动提交关闭
- (使用命令 db2 list command options 查看 Auto-Commit 参数状态是否为 OFF, 如果不是则使用 db2set DB2OPTIONS=+c 永久关闭)
- update command options using c off
2. 设置不记录日志
ALTER TABLE tabname ACTIVATE NOT LOGGED INITIALLY
3. 删除数据
DELETE FROM tabname where ...
4. 手动提交
COMMIT
5. 打开自动提交
- (如果关闭使用使用 db2set DB2OPTIONS=+c, 则开启使用 db2set DB2OPTIONS=-c)
- update command options using c on
- Tips:
不记录日志与删除数据必须在同一事务进行才有效, 若执行顺序为: not logged → commit → delete.. 则 not logged 失效;
来源: http://www.bubuko.com/infodetail-2908373.html