db2 "alter tablespace GJDATA resize (FILE '/backup/GJDATA32K'
45G)"
db2 "alter tablespace GJIDX resize (FILE '/backup/GJIDX32K'
45G)"
容器路径 db2 list tablespace containers for
8
容器大小 db2pd -d uibsch -tablespaces
降低容器空间 resize 增加容器空间extend
首先,可通过 db2 list tablespaces show detail 来查看你的表空间状况。
表空间有二种类型:
1、SMS【SYSCATSPACE】,为系统管理表空间。
2、DMS,用户自己的表空间,为数据库管理表空间。
通过上面的命令来查看表空间中总的表空间(Total pages)和 剩余表空间(Free
pages),如果是系统管理表空间(SMS)不够,则是由于磁盘空间不够,需要增加磁盘空间。如果是数据库管理表空间(DMS)不够,则需要扩展表空间。扩展表空间的命令为:
db2 alter tablespace extend (all )
例如:db2 alter tabblespace yourtablespace extend(all 1024M)
db2pd -db dbname -tab
list tablespaces show detail
list tablespace containers for 2
alter tablespace userspace1 add ( device '/dev/rtablv' 750000)
ALTER TABLESPACE DMS_DATA ADD (File
'/opt/IBM/db2/NODE0000/SQL00001' 327680)
1)直接添加一个容器的例子:
db2 " ALTER TABLESPACE PAYROLL ADD (DEVICE '/dev/rhdisk9' 10000)
"
加容器之后DB2会有一个自动balance的过程
2)改变现有容器的大小(该方法不会触发balance,但如果表空间建立在裸设备上,则要扩冲裸设备空间):
db2 " ALTER TABLESPACE TS1 RESIZE (FILE '/conts/cont0' 2000, DEVICE
'/dev/rcont1' 2000, FILE 'cont2' 2000) "
注意这种方式就是将原有的相应容器都改成大小是2000页
db2 "ALTER TABLESPACE TS1 RESIZE (ALL 2000)"
这种方式就是把表空间中所有的容器大小都改成2000页
db2 " ALTER TABLESPACE TS1 EXTEND (FILE '/conts/cont0' 1000, DEVICE
'/dev/rcont1' 1000, FILE 'cont2' 1000) "
这种方式就是将相应的容器都扩大1000页,也就是增加1000页。
db2 " ALTER TABLESPACE DATA_TS EXTEND (ALL 1000)"
这种方式就是将所有的容器都增加1000页。
db2 " ALTER TABLESPACE USERSPACE1 EXTEND (ALL 100)"