我得到了这个错误:
com.ibm.db2.jcc.a.SqlException: DB2 SQL Error: SQLCODE=-289, SQLSTATE=57011, SQLERRMC=XXX32KTMP, DRIVER=3.51.90
在一个select语句上,该语句有几十个子select。
SQL0289N通常意味着当前表空间大小不足以为新数据分配新页。
我想修改我的select,这样它就不会使用那么多的表空间。
在修改select时,我可能会多次收到这个错误,直到我成功为止。
我的问题是: A)这个错误是否只影响我的select?B)数据库的其他用户是否更有可能因为我运行此select而出现问题?
这些问题的背景是,我想知道我是否必须将我的工作移动到不同的数据库,以合理地确保我不会影响其他用户。
我很小心,因为错误描述不清楚是所有用户之间共享的内存不足,还是只分配给我的连接的内存不足。
注意:我并不是在问如何增加表空间,或者这个错误意味着什么。我没有请求帮助修改我的select (因此,我没有显示select)。对这种效果的任何回答都会离题。
发布于 2015-01-09 00:28:39
如果不知道所讨论的表空间是如何定义的,以及查询为什么需要它,就很难给您一个明确的答案。
在最好的情况下,该错误会影响在任何会话中执行的、需要使用相同表空间的任何SQL语句,尤其是当它是system临时表空间时。
在最坏的情况下,例如,如果它是一个SMS表空间,并且它与其他表空间和日志文件共享文件系统,它甚至可能使整个DB2实例宕机。
在不同的数据库中调优语句并不一定意味着它将解决原始数据库中的问题。
https://stackoverflow.com/questions/27844027
复制相似问题