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

利用 SMS 重組 DB2 資料集範圍:釋放主機儲存空間的實務技巧

     編輯:DB2 教學

問題背景

在 z/OS 主機環境下,DB2 資料集隨時間增長可能超出 119 個擴展區,導致無法再分配新空間。傳統重組需卸載/載入資料,耗時且佔用額外空間。利用 DFSMS 的 HSM(階層儲存管理)遷移/還原機制,可在線完成範圍合併,無需資料搬移。

操作步驟

  1. 識別疑似資料集:TSO 3.4 面板對目標資料集執行 LISTCAT,確認擴展區數達 119。
  2. 停止所屬資料空間:定位資料集所在的 DB2 資料庫/表空間,執行 STOP DATABASE 確保無連接。
  3. 遷移資料集:在 3.4 面板對資料集輸入 HMIGRATE,HSM 將其移至次級儲存(ML1/ML2/磁帶)。
  4. 驗證遷移完成:稍待數分鐘,再次 LISTCAT 確認資料集已標記為「MIGRATED」。
  5. 還原資料集:同一命令列輸入 HRECALL,HSM 將資料集還原至 DASD。此時系統會重新分配連續空間,擴展區數歸一。
  6. 驗證結果:LISTCAT 確認主擴展區數大幅減少(通常為 1)。
  7. 啟動資料空間:START DATABASE 恢復服務。

原理示意

SMS 重組資料集範圍流程圖

優勢總結

  • 零資料搬移,僅更新目錄與 VTOC,極快完成。
  • 無需額外磁碟空間暫存資料。
  • 不影響資料完整性,DB2 目錄無需變更。
  • 適用於 VSAM 線性/非線性資料集、DB2 表空間/索引空間。

注意事項

  • 操作期間資料集不可存取,需安排維護窗口。
  • 確保 HSM 環境正常、備份策略涵蓋遷移後狀態。
  • 大型資料集遷移/還原時間視資料量與 HSM 吞吐而定。

總結

善用 z/OS 內建的 SMS/HSM HMIGRATE/HRECALL 指令,即可輕鬆解決 DB2 資料集擴展區耗盡問題,是主機 DBA 必備的線上空間回收利器。

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