Db2 无法在表空间中分配新页面;XXXX"。。。但是它';s 250梅格和I';我只运行DDL

Db2 无法在表空间中分配新页面;XXXX"。。。但是它';s 250梅格和I';我只运行DDL,db2,Db2,我是一个DB2新手,所以我很感激任何关于从哪里开始寻找的建议。我们有优秀的DB2管理员,但他们现在被其他问题所困扰,所以我尝试对开发数据库进行一些故障排除 我的情况是,我有一个表空间给我这个错误消息 无法在表空间“[MyTableSpace]”中分配新页 然而,我所做的只是运行多个(数百个)DDL语句,主要是创建表,但也创建索引和pk脚本。所以,考虑到表空间大约有250毫克,我不应该耗尽空间,对吗 还有一件事——似乎在我离开脚本一段时间后,一些东西“重置”并工作了一段时间,然后我又开始出现表空间

我是一个DB2新手,所以我很感激任何关于从哪里开始寻找的建议。我们有优秀的DB2管理员,但他们现在被其他问题所困扰,所以我尝试对开发数据库进行一些故障排除

我的情况是,我有一个表空间给我这个错误消息

无法在表空间“[MyTableSpace]”中分配新页

然而,我所做的只是运行多个(数百个)DDL语句,主要是创建表,但也创建索引和pk脚本。所以,考虑到表空间大约有250毫克,我不应该耗尽空间,对吗

还有一件事——似乎在我离开脚本一段时间后,一些东西“重置”并工作了一段时间,然后我又开始出现表空间问题。不过,可能还有别的事情在发生

谢谢,
Sylvia检查表空间的数据块大小(查看SYSCAT.TABLESPACES中的EXTENTSIZE列)

创建表时,DB2将为每个表分配至少2个扩展数据块。如果您的表空间使用较大的数据块大小(例如32页),则很容易突破250MB

例如,如果页面大小为16kb,数据块大小为32页,则创建表(无数据)将需要1MB(16kb*32页/数据块*2个数据块)的空间


如果您有用于测试的小表空间,请确保DBA使表空间的扩展数据块大小变小(例如2或4页)以避免此问题。

您能告诉我们您的表空间是什么类型的吗? 对于以下情况: 1.表空间由自动存储管理 检查文件系统是否已停用 2.表空间由数据库管理 如果已达到表空间的最大大小 3.表空间由系统管理 如果您的文件系统像情况1一样用完了


谢谢

我想您得到的是SQL0289N。如果您还可以获取并提供SQLSTATE和原因代码,那么您将能够准确地知道问题所在。根据表空间的设置方式,有很多不同的可能性。谢谢Michael-我应该给出确切的错误消息。Ian是对的-我有32页的数据块大小。你一针见血-谢谢!这就是问题所在。这个问题在四年半前得到了公认的答案。这到底是在添加什么?