含 LOB 欄位的資料表匯出有特殊規則:超過 32KB 的 LOB 不會寫入主匯出檔,而是分離存放於指定目錄的獨立檔案。本文詳細說明 EXPORT 指令的 LOB 專屬選項、檔案命名規則、容量規劃公式與分批匯出策略。
員工資訊表 USER_INFO:
EMP_ID (PK)EMP_NAMEID_CARD_COPY — LOB (BLOB/CLOB),身分證影本,單檔常超 32KBEXPORT TO user_info.ixf OF IXF
LOB TO d:\photo1, d:\photo2
LOGFILE p1, p2
MODIFIED BY lobsinfile
SELECT * FROM USER_INFO;
| 選項 | 功能 | 備註 |
|---|---|---|
LOB TO | 指定 LOB 檔案儲存目錄 (可多個,逗號分隔) | 未指定則用當前目錄 |
LOGFILE | 指定 LOB 檔案基本名稱前綴 (可多個,逗號分隔) | 系統自動加 3 位數字尾碼 (p1001, p1002...),未指定預設 db2exp |
MODIFIED BY lobsinfile | 強制將 LOB 分離寫入外部檔案 | 主匯出檔僅存 LOB 檔名參考 |
表含 2 個 LOB 欄位,20,000 筆 → 需 40,000 個 LOB 檔案。
指定 2 目錄 × 2 前綴 × 1000 = 4,000 檔名 不足。
需擴充:5 目錄 × 8 前綴 × 1000 = 40,000 剛好;或 10 目錄 × 4 前綴 × 1000 = 40,000。
原則:可用檔名 ≥ 預估 LOB 段數,寧多勿少,否則匯出失敗且難以定位缺漏。
LOB 匯出耗時極長,建議在 SELECT 加入篩選條件分批:
掌握上述規則,DB2 LOB 匯出不再踩雷,資料遷移、備份歸檔皆能得心應手。