解决db2事务日志已满及日志磁盘空间已满问题办法详解

(编辑:jimmy 日期: 2024/11/11 浏览:2)

事务日志满指当前事务无法写入到活动日志中(主日志文件和辅助日志文件已全部用完或者没有足够当前事务写入的空间)

日志磁盘空间已满指辅助日志文件还未使用完,磁盘空间已经满了。

db2数据库事务日志文件分为主日志文件和辅助日志文件,主日志文件已分配空间,辅助日志文件使用时再分配。

查看事务日志配置(mid为数据库名称):

db2 get db cfg for mid

运行结果:

日志文件大小(4KB)                         (LOGFILSIZ) = 1024
主日志文件的数目                           (LOGPRIMARY) = 13
辅助日志文件的数目                          (LOGSECOND) = 4
已更改的至日志文件的路径                   (NEWLOGPATH) =
日志文件路径                                            = D:\DB2\NODE0000\SQL00003\SQLOGDIR\

总事务日志容量大小=(LOGPRIMARY+LOGSECOND)*LOGFILSIZ*4k

ps:(13+4)*1024*4kb=68mb

DB2事务日志满解决办法:

(1) 增大日志文件大小:

db2 udpate db cfg for mid using LOGFILSIZ 8192

或者增大主日志文件个数:

db2 update db cfg for mid using LOGPRIMARY 15

或者增大辅助日志文件个数:

db2 update db cfg for mid using LOGSECOND 10

(2)停掉引起这个错误的应用程序或者停掉所有的应用程序,再重启数据库

db2 force applications all
db2 force application (应用程序句柄 通过db2 list applications获取)
db2stop
db2start

以上两个解决db2事务日志已满及日志磁盘空间已满的问题办法希望可以帮到你