SQL0964C The transaction log for the database is full.

原创 2007年09月17日 14:14:00
这个错误说明事务日志已满,查资料方知解决方法,共享之。

方法一:命令行方式

把日志文件的大小和日志文件的数量扩充,如下命令 :
  db2 update   db   cfg   for   DATABASE   using   LOGFILSIZ   7900  
  db2   update   db   cfg   for   DATABASE   using   LOGPRIMARY   30  
  db2   update   db   cfg   for   DATABASE   using   LOGSECOND   20


方法二:控制中心方式。

直接在该数据库上右键,弹出如下窗口,找到  Configure Dababase Logging Wizard,打开即可设置。


ibm官方解决办法如下
Too many objects have been loaded into the library server and the transaction to delete rows in the library server transaction tracking table is overfilling the DB2® UDB transaction logs.

Workaround:

  1. Stop the migrator process.
  2. Stop all the DB2 UDB applications. The DB2 UDB command to stop all the applications is: db2 force applications all
  3. Change the number of secondary log files in the DB2 UDB database configuration to a greater number such as 100 (default is 20).
  4. To see the database configuration settings, enter the following command in a DB2 UDB command window: db2 get db cfg
  5. To update the number of secondary log files to 100, enter the following: db2 command db2 update dbm cfg using LOGSECOND=100
  6. Start the migrator process.

The error message should now not be appearing in the library server log, and the transaction to delete rows in the library server transaction tracking table should be successful.
 
有关日志文件的参数有如下几个:   
Logprimary:主日志文件的个数;最大为为65536(页数)×4k(块大小);
Logfilsz:每个日志文件的大小;最多不超过256;
Logsecond:第二日志文件的个数;最大不超过254;辅助日志文件在需要时分配,不再使用时系统收回。

平常只使用Logprimary的个数个日志文件,当主日志文件被用完,则启用第二日志文件个数个日志文件。如果都用光了系统就会报日志满错误。  
 
而所谓循环日志方式,是指对主日志文件的循环利用,但是要注意,日志文件的大小必须要满最大单个事务的数据容量需求。因为在一个事务写日志的过程中是不允许循环使用的,平常最好配置到,只使用主日志,不使用第二日志,最好让数据库一天写满一个到两个日志文件。
另外,还有种方法是设置不写日志,即ALTER TABLE A ACTIVATE NOT LOGGED INITIALLY,但是据说这种方法可能会出问题,而且一旦出问题,只能DROP TABLE,无法补救。所以这种方法还是不用了。

DB2 SQL0964C The transaction log for the database is full

最近在做性能测试,在准备测试数据的时候,遇到讨厌的“SQL0964C The transaction log for the database is full. ”测试数据要求: 表1 table...
  • endif_forever
  • endif_forever
  • 2016年05月13日 16:23
  • 1109

Db2 SELECT语句导致日志满:SQL0964C Transaction log full.

问题: Db2中,执行SELECT 语句导致事务日志满,报出以下错误: SQL0964C The transaction log for the database is full. ...
  • qingsong3333
  • qingsong3333
  • 2017年12月28日 09:52
  • 210

SQL0964C The transaction log for the database is full. SQLSTATE=57011

问题场景:db2数据导入产生错误:SQL0964C The transaction log for the database is full.  SQLSTATE=57011 问题原因:db2日志缓存...
  • sdjzuch
  • sdjzuch
  • 2015年10月28日 16:26
  • 769

BuildForge使用默认的DB2 Express运行时出现ERROR [IBM][CLI Driver][DB2/6000] SQL0964C The transaction log for the database is full. SQLSTATE

    在BuildForge安装时使用默认的数据库DB2 express是常见的安装方式,这样可以省去创建数据等配置过程,并且安装运行比较便捷。 但是因为是使用的Express版以及默认的数据库创建...
  • russle
  • russle
  • 2010年01月08日 14:44
  • 1832

DB2 删除大量记录报错SQL0964C The transaction log for the database is full

应用场景: 一般是测试环境,某个开发人员在清空某张表时候使用delete删除单位为万的数据,报错 SQL0964C The transaction log for the database is fu...
  • qqlinxi
  • qqlinxi
  • 2016年12月14日 23:07
  • 1094

The transaction log for database 'NJ_Address' is full. To find out why space in the log cannot be

这个错误说明事务日志已满,解决方案:压缩一下事务日志的大小。 sp_helpdb nj_address ALTER DATABASE nj_address SET RECOVERY SIMPLE...
  • jcx5083761
  • jcx5083761
  • 2014年04月03日 21:34
  • 2417

SQL0964C The transaction log for the database is full. SQLSTATE=57011

在删除大量数据的时候出现SQL0964C的错误,需要扩展日志空间,方法:db2 get db cfg|grep LOG输出结果:…… Log file size (4KB)              ...
  • celavi
  • celavi
  • 2008年02月21日 18:46
  • 2777

DB2 “The transaction log for the database is full” 问题及解决办法

DB2在执行一个大的insert/update操作的时候报“The transaction log for the database is full.. ”错误,查了一下文档是DB2的日志文件满了的缘...
  • kongxx
  • kongxx
  • 2014年11月17日 08:26
  • 9175

DB2 SQL0964C The transaction log for the database is full. SQLSTATE=57011 处理

做DB2的插入操作报错 db2 => insert into atmjobsts  values (20090805,2)DB21034E  The command was processed as ...
  • xiyuan1999
  • xiyuan1999
  • 2009年08月05日 15:18
  • 5794

DB2 The transaction log for the database is full. SQLSTATE=57011

正在用的数据库出现这个错误,现在按照已知的调整方面对数据库参数做了修改后可以正常使用,现在记录下这些修改。 COM.ibm.db2.jdbc.DB2Exception: [IBM][CLI ...
  • gaoqianzhao
  • gaoqianzhao
  • 2014年05月28日 11:13
  • 480
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:SQL0964C The transaction log for the database is full.
举报原因:
原因补充:

(最多只允许输入30个字)