问题提示:SQL0289N 不能在表空间 "xxx" 中分配新页DB21034E 该命令被当作 SQL语句来处理,因为它不是有效的“命令行处理器”命令。在 SQL 处理期间,它返回:SQL0289N 不能在表空间 "TS_KAIFA_08" 中分配新页。 SQLSTATE=57011
解决方法:
法一:增加表空间,在DB2客户端控制中心,找到数据库树下的表空间,单击“表空间”几个字,可以看到所有表空间。选中需要增加的页的表空间名称,在单击右键菜单中选择“改变”,进入“改变表空间”菜单,选右边“添加“按钮,就可以增添表空间了。我选的是增加裸设备,添加后的结果如图。
法二:
alter tablespace tablespace-name add(device '/dev/y1' 1000,device '/dev/y2' 1000)/*添加两个容器到表空间中*/
alter tablespace tablespace-name resize (device 'dev/y1' 2000,device '/dev/y2' 2000)/*改变容器的大小,1000-》2000*/
alter tablespace tablespace-name extend(device 'dev/y3' 1000,device '/dev/y4' 1000)/*添加两个容器*/
/*容器只能变大不能变小*/
说明:在DB2数据库中表空间的存储方式一共有两种即SMS(System Managed Space)、DMS(Database Managed Space)。SMS直接利用操作系统的文件系统来管理数据。
法二主要参考如下链接的内容: