应用场景:
一般是测试环境,某个开发人员在清空某张表时候使用delete删除单位为万的数据,报错
SQL0964C The transaction log for the database is full
测试环境,由于仅供开发人员测试,所以db2 分配资源都不是很到位,db2参数也没有管理员专职优化。
而使用SQL delete 上万条数据,会占用大量的活动日志,很容易就占满活动日志;当活动日志已经占满,再提交事务就会报错SQL0964C
解决方案:
方案1: 清理上万数据量,而又不占用活动日志,应该使用load 清空
db2=> lo

当在DB2中使用`DELETE`语句删除大量记录时,可能会遇到SQL0964C错误,提示事务日志已满。这种情况下,可以采取两种解决方案:一是使用`LOAD`命令非恢复性清空表,以避免占用日志空间;二是调整数据库配置参数`LOGPRIMARY`、`LOGSECOND`和`LOGFILSIZ`来增大日志空间。在使用`LOAD`命令后,记得检查表状态并视需要进行`REORG`操作。

1687

被折叠的 条评论
为什么被折叠?



