据库报错:The transaction log for the database is full. SQLSTATE=57011

本文介绍了解决DB2数据库日志空间满的问题。通过调整日志文件大小参数(LOGFILSIZ),从10240增加到61440,并重启数据库服务,最终解决了插入操作时出现的日志满错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

db2数据库报错:The transaction log for the database is full. SQLSTATE=57011 
2011-05-10 12:50 
做DB2的插入操作报错 

db2 => insert into atmjobsts  values ('20090805','2') 
DB21034E  The command was processed as an SQL statement because it was not a 
valid Command Line Processor command.  During SQL processing it returned: 
SQL0964C  The transaction log for the database is full.  SQLSTATE=57011 

原因: 

缓冲池扩展失败,由于可用的虚拟内存的大小不足 

解决: 

1. 查看 

db2 => get db cfg 

       Database Configuration for Database 

... 

Log file size (4KB)                         (LOGFILSIZ) = 10240 
Number of primary log files                (LOGPRIMARY) = 13 
Number of secondary log files               (LOGSECOND) = 4 
Changed path to log files                  (NEWLOGPATH) = 
Path to log files                                       = /db2data/db2shjh/db2inst1/NODE0000/SQL00001/SQLOGDIR/ 
Overflow log path                     (OVERFLOWLOGPATH) = 
Mirror log path                         (MIRRORLOGPATH) = 
First active log file                                   = 
Block log on disk full                (BLK_LOG_DSK_FUL) = NO 
Percent max primary log space by transaction  (MAX_LOG) = 0 
Num. of active log files for 1 active UOW(NUM_LOG_SPAN) = 0 

... 

2. 修改 

后来把这个参数的大小相应调整了一下,调整后如下: 
Log file size (4KB) (LOGFILSIZ) = 61440 

调整方法为 
update db cfg using LOGFILSIZ 61440 

3. 调整后重启数据库 

执行 db2stop 来停止DB2服务,如果停止不掉可以考虑执行 db2stop force 强制停止。 
执行 db2start 启动DB2服务。 

4. 查看 

Log file size (4KB)                         (LOGFILSIZ) = 61440 
Number of primary log files                (LOGPRIMARY) = 13 
Number of secondary log files               (LOGSECOND) = 4 
Changed path to log files                  (NEWLOGPATH) = 
Path to log files                                       = /db2data/db2shjh/db2inst1/NODE0000/SQL00001/SQLOGDIR/ 
Overflow log path                     (OVERFLOWLOGPATH) = 
Mirror log path                         (MIRRORLOGPATH) = 
First active log file                                   = 
Block log on disk full                (BLK_LOG_DSK_FUL) = NO 
Percent max primary log space by transaction  (MAX_LOG) = 0 
Num. of active log files for 1 active UOW(NUM_LOG_SPAN) = 0 

5. 再执行 插入操作 OK  解决 

db2 => insert into atmjobsts values('20090805','3') 
DB20000I  The SQL command completed successfully.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值