首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> DB2 資料庫 >> DB2 教學

DB2 表空間管理全景:五大類型、SMS/DMS 差異與容器操作

     編輯:DB2 教學

五大表空間類型

類型用途預設名備註
目錄系統目錄表SYSCATSPACE建庫自動建立
正規永久資料 (表/索引/LOB)USERSPACE1可分離表與索引至不同表空間
長整數LOB/LONG-**僅 DMS**,支援 >255 行/頁
系統臨時排序/重組/建索引/連接中間結果TEMPSPACE1每庫至少一個
使用者臨時DGTT (宣告全域暫存表)-非預設,需手動建立

SMS vs DMS 管理差異

面向SMSDMS
容器目錄檔案/裸裝置 (預分配)
空間增長OS 自動手動 ADD/RESIZE/EXTEND
I/O 控制OS 緩衝DB2 直接管理
容器刪除不支援支援 (V8+)
效能一般優 (可條帶、預取、AUTORESIZE)

容器操作指令


-- SMS 建立
CREATE TABLESPACE TS_SMS MANAGED BY SYSTEM USING ('/path1', '/path2');

-- DMS 建立
CREATE TABLESPACE TS_DMS MANAGED BY DATABASE
  USING (FILE '/path/f1' 100M, DEVICE '/dev/raw1' 200M);

-- DMS 擴容
ALTER TABLESPACE TS_DMS ADD (FILE '/path/f3' 500M);
ALTER TABLESPACE TS_DMS EXTEND (ALL 1000);
ALTER TABLESPACE TS_DMS RESIZE (FILE '/path/f1' 200M);

-- DMS 縮容/刪除容器 (V8+)
ALTER TABLESPACE TS_DMS DROP (FILE '/path/f1');
ALTER TABLESPACE TS_DMS REDUCE (ALL 500);

最佳實踐

  • 生產環境核心表空間 → DMS + AUTORESIZE + MAXSIZE
  • 臨時表空間 → DMS (效能穩定) 或 SMS (零維護)
  • LOB 密集 → 專用長表空間 (DMS) + 大頁面 (16K/32K)
  • 定期 db2pd -tablespaces 監控使用率、Rebalance 狀態
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved