DB2 Universal Database 定義超過 25 種表與表空間狀態,這些狀態不僅控制資料存取,更在關鍵時刻保護資料庫完整性。本文系統整理所有支援狀態,並提供實戰腳本示範如何識別與應對,助您從容掌控資料庫行為。
表空間狀態以十六進位位元組合表示,可用 db2tbst 指令解碼。常見狀態分類如下:
LOAD COPY NO 後進入,必須備份才能更新資料。LOAD COPY NO 執行期間的暫態狀態,同時隱含 Backup Pending。LOAD TERMINATE/RESTART/REPLACE 解除。QUIESCE TABLESPACES 設定,控制並發讀寫權限。ALTER TABLESPACE ... SWITCH ONLINE 恢復。表狀態透過 LOAD QUERY 取得,主要圍繞載入操作:
| 狀態 | 觸發情境 | 解除方式 |
|---|---|---|
| Check Pending | 定義檢查約束後載入資料 | SET INTEGRITY 驗證 |
| Load Pending | 載入異常終止未提交 | LOAD TERMINATE/RESTART/REPLACE |
| Load in Progress | 載入執行期間 | 載入完成自動離開 |
| Read Access Only | LOAD ALLOW READ ACCESS | 載入完成自動離開 |
| Not Load Restartable | 前滾後遭遇失敗載入未重啟 | LOAD TERMINATE |
| Unavailable | 前滾不可恢復載入 | 僅能刪除表或從備份恢復 |
| Normal | 無異常狀態 | 初始狀態 |
LIST TABLESPACES SHOW DETAIL:查看十六進位狀態值與詳細資訊。db2tbst 0xHEX_VALUE:解碼單一或組合狀態值。GET SNAPSHOT FOR TABLESPACES ON <db>:即時監控暫態狀態。LOAD QUERY TABLE <tab>:檢查表載入狀態。熟悉各狀態成因與轉換邏輯,善用監控指令,即能在備份、恢復、載入、重組等關鍵操作中精準掌控資料存取,確保業務連續性與資料完整性。