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