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

DB2 表空間擴容實戰:ADD/RESIZE/EXTEND 三大指令場景全解

     編輯:DB2 教學

DMS 表空間三種擴容方式

指令適用場景是否觸發 Rebalance典型語法
ADD新增容器(新磁碟/檔案系統)✅ 是,資料重新分佈,耗時數小時ALTER TABLESPACE PAYROLL ADD (DEVICE '/dev/rhdisk9' 10000)
RESIZE調整現有容器大小(裸裝置已擴容、檔案系統擴充)❌ 否,立即生效ALTER TABLESPACE TS1 RESIZE (FILE '/conts/cont0' 2000, DEVICE '/dev/rcont1' 2000)
EXTEND在現有容器基礎上增加指定頁數❌ 否ALTER TABLESPACE TS1 EXTEND (ALL 1000)

關鍵參數說明

  • ALL:套用至表空間所有容器
  • 大小單位:頁數(非 MB/GB),頁大小由表空間定義決定
  • 裸裝置 DEVICE 需先在 OS 層擴充 LUN/分區

實戰決策樹

  1. 有新磁碟/新掛載點 → ADD(接受 Rebalance 時間窗)
  2. 既有磁碟已擴容(SAN 延伸、LVM 擴充) → RESIZE(無 Rebalance,最快)
  3. 只需少量緩衝、不想計算新總大小 → EXTEND

Rebalance 影響與應對

  • Rebalance 期間表空間可讀寫,但 I/O 擴增、查詢效能下降
  • 大表空間(>1 TB)Rebalance 可達 6-12 小時,必須在低峰期執行
  • 監控:db2pd -tablespaces 觀察 Rebalancer Mode 從 FORWARD 變為 NONE
  • 若業務極敏感,優先 RESIZE/EXTEND 避免 Rebalance

SMS 表空間擴容

SMS 容器為目錄,無法 ADD/RESIZE/EXTEND。空間不足時:
① 在檔案系統層擴充掛載點(LVM/NFS/SAN)
② 或建立新 DMS 表空間遷移物件(ADMIN_MOVE_TABLE)

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved