(FAQ)DB2 中查复杂SQL报The transaction log for the database is full
金蝶云社区-金蝶云社区
金蝶云社区
0人赞赏了该文章 1,217次浏览 未经作者许可,禁止转载编辑于2015年03月02日 00:00:00
【问题】: (FAQ)DB2 中查复杂SQL报The transaction log for the database is full
版本: 7.0.3
模块: 系统部署
【答复】:
原因分析: 1. 通过异常The transaction log for the database is full分析,是由于数据库日志太小,导致查询溢出 解决方法: 增加日志个数或者增加日志大小(总的来说,是增加日志容量) 1. 增加主日志文件 db2 update db cfg using logprimary 33(个数) immediate 2.增加辅助日志文件 db2 update db cfg using logsecond 20(个数) immediate 3.增加每个日志大小 db2 UPDATE DB CFG FOR mydb USING LOGBUFSZ 124(大小) (注意:LOGPRIMARY+LOGSECOND 总数不能超过255) 当第一个application连接或者数据库被激活时候,db自动分配LOGPRIMARY个日志文件。 不分配辅助日志。 当一个事务耗尽了所有的主日志文件而没有完成该事务,那么系统就会创建一个辅助日志给该事务,如果一个不够,系统会继续增加辅助日志的数量,最多可以创建LOGSECOND个辅助日志文件,如果此时事务还没有完成(rollback,commit),那么系统就会报错。