我收到此错误:
com.ibm.db2.jcc.a.SqlException: DB2 SQL Error: SQLCODE=-289, SQLSTATE=57011, SQLERRMC=XXX32KTMP, DRIVER=3.51.90
在包含几十个子选择的select语句中。
SQL0289N通常表示当前表空间大小不足以为新数据分配新页面。
我想修改我的选择,以便它不会使用尽可能多的表空间。
修改选择时我可能会多次出现此错误,直到我成功为止。
我的问题是: A)此错误是否仅影响我的选择? B)数据库的其他用户是否更喜欢遇到问题,因为我正在运行此选择?
这些问题的背景是我想知道我是否必须将我的工作转移到另一个数据库,以确保我不会影响其他用户。
我很谨慎,因为如果所有用户之间共享的内存不足,或者只分配给我的连接的内存,则错误描述不明确。
注意:我不是问如何增加表空间或此错误的含义。我不是要求帮助修改我的选择(因此,我没有显示选择)。对此影响的任何答案都将不合适。
答案 0 :(得分:0)
如果不知道有问题的表空间是如何定义的,以及为什么您的查询需要它,很难给出明确的答案。
在最好的情况下,错误会影响在任何会话中执行的任何需要使用相同表空间的SQL语句,特别是如果它是系统临时表空间。
在最坏的情况下,例如如果它是一个SMS表空间并且它与其他表空间和日志文件共享文件系统,它甚至可能使整个DB2实例失效。
在不同的数据库中调整语句并不一定意味着它将解决原始数据库中的问题。