一个专注于大数据技术架构与应用分享的技术博客

在DB2数据库中建表报错:SQL0960C The maximun number of objects hav been created in the table spaces with the following names or identifiers "TBS_TEST_DATA". SQLSTATE=57011

近日,在DB2数据库中创建表时,报如下错误:

DB21034E The command was processed as an SQL statement because it was not a valid Command Line Processor command. During SQL processing it returned:
SQL0960C The maximun number of objects hav been created in the table spaces with the following names or identifiers "TBS_TEST_DATA". SQLSTATE=57011

经分析,应该是该表空间上创建的表数量超过了最大值,导致无法在该表空间上创建新的表。

之前一直以为,只要表空间的空间还有富余,就可以在上面创建无数个表,现在看来,不是这样的。

我报错时,是创建表时,使用一个日期字段,设置了范围分区,且每天一个分区。而事后来看,DB2数据库,是将每一个分区都当作了一个对象,所以导致对象数达到了阀值。

咨询DBA,也没有找到这个上限是多少,如何配置的。

当前的解决方法,只能删除范围分区的设置。如果一张表太大,就按年或月拆分为多张物理表。

经过测试,在同一个表空间上建表,最多创建54000多张表就无法继续创建了。不知道这个上限是不是和数据库的其他设置有关系。

赞(1)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《在DB2数据库中建表报错:SQL0960C The maximun number of objects hav been created in the table spaces with the following names or identifiers "TBS_TEST_DATA". SQLSTATE=57011》
文章链接:https://macsishu.com/%e5%9c%a8db2%e6%95%b0%e6%8d%ae%e5%ba%93%e4%b8%ad%e5%bb%ba%e8%a1%a8%e6%8a%a5%e9%94%99%ef%bc%9asql0960c-the-maximun-number-of-objects-hav-been-created-in-the-table-spaces-with-the-following-names-or-ide
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。