在我们的应用程序中运行少量存储过程时,我看到上述错误。我们得到的实际错误是sqlcode = -930,根据db2文档,它是:'没有足够的存储空间来处理该语句。'
问题:如何增加这些过程可用的存储空间?有没有其他人遇到过这个错误,如果有,你找到了解决方案吗?
感谢
答案 0 :(得分:1)
由于你还没有回答你正在使用哪个平台,我将首先尝试一下AIX。
您需要查看db2diag.log以获取具体原因,但这通常是因为AIX已经用完了共享内存段。
AIX总共有16个共享内存段,其中7个可用于数据库。您可以使用一个太复杂的公式来计算数据库实际使用的数量,以便我记住,而无需在故障排除指南中查找。
但是,数据库很可能会使用6个段,只留下一个段。我已经看到发生这种情况然后内存映射的I / O请求与存储过程同时发生。
这两者都需要共享内存段,如果I / O首先开始,存储过程将会失败,如您所见。
解决此问题的方法是通过执行以下一项或多项来释放细分: