表空间满了,肯定使用的是DMS的表空间,对于DMS表空间,可以有以下几种方式扩容:
1. 向表空间中添加新的容器:
ALTER TABLESPACE 表空间名 ADD (FILE '容器文件路径和名称' 容器文件大小)
2. 把现有的容器扩大:也有两种方法
(1)ALTER TABLESPACE 表空间名 RESIZE(FILE '已满的容器名' 更改后容器的大小)
(2)ALTER TABLESPACE 表空间名 EXTEND(FILE '已满的容器名' 准备增加的大小)
若表空间直接用的是祼设备的话,就需要把(file 改成(device
在做的时候一定要考虑到rebalance时间,增加了容器以后DB2会自动重新balance数据,根据tablespace的数据大小需要一定的时间来完成。这期间访问速度会下降很多。
要注意是几K页的表空间,4K最大表空间限制在64G,8K是128G,16K是256G,32K是512G,如果有上述限制是不可以直接加CONTAINER的,那只有再建一个新的表空间!
下面是增加文件作为容器给表空间
db2 "ALTER TABLESPACE ERPDATA add (FILE '/home/db2inst/test_DATA/ERPDATA_09' 524288,FILE '/home/db2inst/test_DATA/ERPDATA_10' 524288)"
1. 向表空间中添加新的容器:
ALTER TABLESPACE 表空间名 ADD (FILE '容器文件路径和名称' 容器文件大小)
2. 把现有的容器扩大:也有两种方法
(1)ALTER TABLESPACE 表空间名 RESIZE(FILE '已满的容器名' 更改后容器的大小)
(2)ALTER TABLESPACE 表空间名 EXTEND(FILE '已满的容器名' 准备增加的大小)
若表空间直接用的是祼设备的话,就需要把(file 改成(device
在做的时候一定要考虑到rebalance时间,增加了容器以后DB2会自动重新balance数据,根据tablespace的数据大小需要一定的时间来完成。这期间访问速度会下降很多。
要注意是几K页的表空间,4K最大表空间限制在64G,8K是128G,16K是256G,32K是512G,如果有上述限制是不可以直接加CONTAINER的,那只有再建一个新的表空间!
下面是增加文件作为容器给表空间
db2 "ALTER TABLESPACE ERPDATA add (FILE '/home/db2inst/test_DATA/ERPDATA_09' 524288,FILE '/home/db2inst/test_DATA/ERPDATA_10' 524288)"