表空間的類型:
一個數據庫必須至少包含三種類型的表空間:一個目錄表空間,一個或者多個用戶表空間
以及一個或者多個臨時表空間
系統管理的表空間:操作系統的文件管理器控制其中的存儲空間
數據庫管理的表空間:數據庫管理器控制其中的存儲空間
常規表空間:存儲除了臨時表之外的索引和任何類型的數據
大型表空間:可以存儲大型表列或者LOB表列中的數據,此外還可以存儲索引
系統臨時表空間:為排序、連接、和其他的操作提供數據庫管理器空間
用戶臨時表空間:為已聲明的臨時表提供用戶應用程序空間 DECLARE GLOBAL TEMPORARY TABLE
自動存儲表空間可以指定初始大小:
CREATE TABLESPACE TS1 INITIALSIZE 100 M
默認情況下32M
表空間和數據庫分區組:在分區數據庫中,沒個表空間都要與特定的數據庫分區組相關。
該數據庫分區組必須存在(用create database partition group語句定義),且當
使用create tablespace 語句創建表空間時定義與該數據庫分區組之間的關系。
列出表空間:
db2 LIST TABLESPACES SHOW DETAIL
ALTER TABLESPACE DMS1 AUTORESIZE YES
ALTER TABLESPACE DMS1 AUTORESIZE NO
ALTER TABLESPACE DMS1 MAXSIZE 1 G
ALTER TABLESPACE DMS1 MAXSIZE NONE
GET SNAPSHOT FOR TABLESPACES
CREATE DATABASE <name>
CATALOG TABLESPACE
MANAGED BY SYSTEM USING (’<path>’)
EXTENTSIZE <value> PREFETCHSIZE <value>
USER TABLESPACE
MANAGED BY DATABASE USING (FILE’<path>’ 5000,
FILE’<path>’ 5000)
EXTENTSIZE <value> PREFETCHSIZE <value>
TEMPORARY TABLESPACE
MANAGED BY SYSTEM USING (’<path>’)
WITH "<comment>"
創建表空間:
SMS:CREATE TABLESPACE NAME MANAGED BY SYSTEM USING (’path’)
DMS: CREATE TABLESPACE NAME MANAGED BY DATABASE USING (FILE ’path’ size)
自動存儲表空間:CREATE TABLESPACE NAME | CREATE TABLESPACE NAME MANAGED BY AUTOMATIC STORAGE
系統臨時表空間:CREATE SYSTEM TEMPORARY TABLESPACE tmp_tbsp MANAGED BY SYSTEM USING (’d:\tmp_tbsp’,’e:\tmp_tbsp’)
用戶臨時表空間:
CREATE USER TEMPORARY TABLESPACE usr_tbsp
MANAGED BY DATABASE
USING (FILE ’d:\db2data\user_tbsp’ 5000,
FILE ’e:\db2data\user_tbsp’ 5000)
改變DMS表空間:
添加容器:
ALTER TABLESPACE <name> ADD (DEVICE ’<path>’ <size>, FILE ’<filename>’ <size>)
縮小DMS表空間中的容器:
ALTER TABLESPACE <name> REDUCE (FILE ’<filename>’ <size>)
增大DMS表空間中的容器大小:
ALTER TABLESPACE <name> RESIZE (DEVICE ’<path>’ <size>)
擴展DMS表空間中的容器:
ALTER TABLESPACE <name> EXTEND (FILE ’<filename>’ <size>)
重命名表空間:RENAME TABLESPACE
將表空間脫機或者聯機:
db2 ALTER TABLESPACE <name> SWITCH ONLINE | OFFLINE
刪除表空間:DROP TABLESPACE <name>