数据库事务日志已满 问题解决

[quote]SQL0964C 数据库的事务日志已满。 [/quote]

出现 LDAP 或 DB2 错误消息,指出数据库的事务日志已满。

原因:LOGFILSIZ_DB2 参数设置得太低。
环境:
产品:DB2 UDB
平台:跨平台
版本:8


问题描述:

DB2 使用的活动日志的最大空间是由下面公式:

(logprimary + logsecond) * logfilsiz * 4096

计算出的大小来决定的(logprimary,logsecond,logfilsiz是数据库配置参数)。若该空
间已全部被分配,而应用仍试图请求更多活动日志空间时,就会发生日志满的情况,此时,
用户的更新、删除或插入操作都会使 DB2DIAG.LOG 中写入以下信息:

SQL0964C 数据库的事务日志已满。

DB2 活动日志满通常是由于存在大量未提交事务的数据,使得活动日志的空间不能及时释放
,使新的事务无法申请到可用日志空间,而最终报出 SQL0964C 的错误所致。为使应用程序
成功运行,而不是被回滚,通常会考虑根据情况选择增大以上公式中的某些数据库参数,以
增大活动日志空间来解决这一问题。


解决方案:使用以下命令创建 LOGFILSIZ_DB2 参数:

db2 update database configuration for [database name] using LOGFILSIZ 10000
确保 DB2 实例所有者的主目录中有足够的文件空间。

Database name 为你的数据库实例名称,LOGFILSIZE的值可以根据自己的实际情况进行相应的调整。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值