Sql db2无法停止获取事务日志是填充错误

Sql db2无法停止获取事务日志是填充错误,sql,db2,Sql,Db2,我有一个严重的问题。。我有更新的存储程序,几百万条记录。这一切都发生在一个光标上。 我遇到的问题是,无论我做了什么,到目前为止,它都会失败,并出现事务日志完整错误 SQL0964C数据库的事务日志已满。SQLSTATE=57011 在过去的几天里,我一个接一个地对db配置做了以下更改,希望日志文件不再被填满 我已经设定了以下条件 LOGRETAIN = NO LOGARCHMETH1 = OFF LOGILESIZE=20000 LOGPRIMARY=50 LOGSECONDARY=200 直

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

在过去的几天里,我一个接一个地对db配置做了以下更改,希望日志文件不再被填满 我已经设定了以下条件

LOGRETAIN = NO
LOGARCHMETH1 = OFF
LOGILESIZE=20000
LOGPRIMARY=50
LOGSECONDARY=200
直到今天早上(刚刚更改了LOGARCHMETH1=OFF,sp正在运行)我没有运气。现在我只是不想看到这个该死的错误,我希望它停止,这样我就可以继续我的测试了。我可以稍后处理这些性能问题。 一些善良的灵魂能说明我到底是如何强迫db2不使用我已经尝试过的以外的日志的吗?
DB2版本是8.2.4

确定找到了答案,因为我不太熟悉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语法方面帮助像我这样的新手

您的更新中应该有问题。尝试部分更新(在条件中)我想知道update语句是否有任何错误,因为它一直在ms sql server上运行这里是查询更新表_nameset col2=@nextclid,其中col1=@col1和col3=@col3和col4=@col4;在上面的语句之后有一个commit,它在每500个recs之后提交。问题是,为什么在我所有的设置下,事务日志仍在编写中?我不知道这是否会帮助任何人,因为这是一种插入“几百万条记录”的非常低效的方法。可以考虑使用游标中的负载,这将确实减少日志记录。