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)"