DB2 报 SQLSTATE=57011错误的解决办法
SQLSTATE=57011 为数据库中表空间已满的异常(错误)
可以用命令查看表空间
db2 => list tablespaces show detail
有两种类型表空间:
第一种类型表空间为:SYSCATSPACE,类型为系统管理表空间(SMS)
第二种类型表空间为:用户自己的表空间(比如xjhspaces11),类型为数据库管理表空间(DMS)
查看表空间中总的表空间(Total
pages)和 剩余表空间(Free
pages)
如果是系统管理表空间(SMS)不够,则是由于磁盘空间不够,需要增加磁盘空间
如果是数据库管理表空间(DMS)不够,则需要扩展表空间
扩展表空间的命令为:
db2
alter tablespace extend (all <num_pages> )
例如:db2 => alter
tabblespace xjhspces11 extend(all
2560M)
扩展了数据库表空间2.5G
注意:对数据库管理表空间的扩展前,必须检查磁盘裸设备的空间,如果空间不够,需要增加磁盘裸设备的空间,再扩展数据库管理表空间,并且在扩展表空间之前,最好备份数据库,以免带来不必要的损失
备份数据库命令:$
db2move databaseName export