db2无法停止获取事务日志已满错误

时间:2014-01-27 16:39:08

标签: sql db2

我有一个严重的问题..我有更新的存储程序,几百万条记录。这一切都发生在游标中。 我遇到了一些问题,无论我到目前为止做了什么,它都会因事务日志完全错误而失败 SQL0964C数据库的事务日志已满。 SQLSTATE = 57011

在过去的几天里,我一个接一个地对db配置进行了以下更改,希望日志文件将停止填充 我已经设置了以下内容

LOGRETAIN = NO
LOGARCHMETH1 = OFF
LOGILESIZE=20000
LOGPRIMARY=50
LOGSECONDARY=200

直到今天早上(刚刚更改了LOGARCHMETH1 = OFF并且sp正在运行)我没有运气。现在我只是不想看到这个错误,我希望这个停止,以便我可以继续我的测试。我可以稍后处理这些性能问题。 有些灵魂可以解释一下,我强迫db2不使用我已经尝试过的日志吗? DB2版本是8.2.4

1 个答案:

答案 0 :(得分:1)

好的找到了答案,因为我不熟悉DB2语法,显然我使用游标的方式导致了“无限循环”(?) 无论如何我改变了我的代码以遵循这种格式

FOR v AS cur1 CURSOR FOR 
            SELECT firstnme, midinit, lastname FROM employee
DO 
  SET fullname = v.lastname || ',' || v.firstnme 
                 ||' ' || v.midinit;
  INSERT INTO tnames VALUES (fullname);
END FOR;

并且所有工作完美......: - )

希望它能帮助像我这样的其他新手使用db2语法