DB2 的資料移動包含三大操作,方向與用途截然不同:
SET INTEGRITY)這三指令支援通用檔案格式,是異構資料庫遷移、資料倉庫 ETL、備份還原的通用介面。
純文字流,換行符分隔列,欄位靠起始/結束位置定義。適合大型機匯出、固定寬度報表。
10 head Office 160 corporate new york
15 new england 50 eastern boston
20 mid atlantic 10 eastern washington
...
欄位以分隔符號(預設逗號)分隔,列以換行符分隔。可透過 MODIFIED BY 子句自訂分隔符、字串限定字元等。
10,"head Office",160,"corporate","new york"
15,"new england",50,"eastern","boston"
20,"mid atlantic",10,"eastern","washington"
...
| 特性 | IMPORT | EXPORT | LOAD |
|---|---|---|---|
| 速度 | 較慢(逐列 SQL) | 中等 | 極快(頁面級寫入) |
| 觸發器/約束 | ✅ 觸發 | N/A | ❌ 略過(需事後驗證) |
| 鎖定行為 | 列級鎖 | 共享鎖 | 表級鎖(預設) |
| 恢復性 | 完整記錄 | 唯讀 | 可選 COPY YES/NO |
| 適用場景 | 小量資料、需驗證邏輯 | 備份、異構遷移 | 大量初始載入、數據倉庫 |
SET INTEGRITY FOR table IMMEDIATE CHECKED 才能釋放「檢查待定」狀態。DEL 格式並指定編碼(CODEPAGE),避免中文亂碼。ALTER TABLE ... ACTIVATE NOT LOGGED INITIALLY 減少日誌量(需評估風險)。善用 IMPORT/EXPORT/LOAD 三劍客,配合 ASC/DEL 兩大通用格式,即可構建穩健的 DB2 資料流管線,滿足從日常備份到 TB 級資料倉庫載入的多元需求。