DB2delete大表不记录日志的正确操作

Posted 奔跑的金鱼

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DB2delete大表不记录日志的正确操作相关的知识,希望对你有一定的参考价值。

在删除大表的时候,经常会由于数据量太大,造成日志文件满了,接着无法删除数据.

以下是删除大表不记录日志的具体步骤:

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失效;

以上是关于DB2delete大表不记录日志的正确操作的主要内容,如果未能解决你的问题,请参考以下文章

MySQL8 大表清空和删除正确方法

jdbc mysql crud dao模型 sql注入漏洞 jdbc 操作大文件

如何优化操作大数据量数据库

PHP 操作大对象 数组如何节省内存

hibernate操作大文本字段Blob和Clob

oracle自连接