mysql 日志满_DB2日志满解决办法

在执行一个大SQL事务时,DB2有时候会报出错误:

The transaction log for the database is full.. SQLCODE=-964, SQLSTATE=57011, DRIVER=4.12.79

这个错误产生的原因是:

在执行一个大型的SQL事务时,在提交前,数据库会将执行的内容记入日志中,方便万一执行不成功后的回滚。但是日志大小会有限制,一旦达到了日志文件的最大上限,但是事务仍然没有执行完,则会报出上述错误。

错误的解决方法:

(1)首先连接到DB2数据库:

db2 connect to user using

(2)读取日志相关的配置文件

db2 get db cfg for | grep LOG

(3)涉及日志大小的变量有以下内容

LOGFILSIZ:单个日志文件的大小

LOGPRIMARY:主日志文件个数

LOGSECOND:辅助日志文件个数

则总日志大小为:(LOGPRIMARY + LOGSECOND)* LOGFILSIZ * 4KB

(4)修改以上三个变量的内容

修改前需要注意几个事项:

a)连接的用户必须要有DBA权限;

b)设置参数值的时候,要考虑到自身硬盘的大小

具体操作指令为:

db2 update db cfg for using

例如:db2 update db cfg for SEAT using LOGFILSIZ 10240

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值