DB2 同樣支持大對象(LOB)數據類型,但其處理機制與普通數據類型截然不同。當 LOB 數據超過 32KB 時,常規導出僅會在目標文件中保留文件名引用,實際二進制內容會被單獨寫入指定目錄的獨立文件中。這一機制要求我們在導出包含 LOB 列的表時必須採用特定語法。
EXPORT TO user_info.del OF DEL
LOB TO d:\photo1,d:\photo2
LOBSINFILE lobfile p1,p2
MODIFIED BY lobsinfile
SELECT * FROM user_info;
db2exp 作為前綴。強制將 LOB 數據與主數據文件分離存放,主文件僅保留文件名引用。此選項為導出 LOB 表的必要條件。
導出前必須預估所需文件名總量,避免因文件名耗盡導致導出失敗。
可用文件名總數 = 基本前綴數量 × 目錄數量 × 1000
某表含 2 個 LOB 列,20,000 條記錄 → 需 40,000 個文件名。
配置:2 個目錄 × 2 個前綴 × 1000 = 4,000 個可用文件名 (不足)。
需增加目錄或前綴,如 4 目錄 × 10 前綴 × 1000 = 40,000 (剛好)。
注意:擴展位數固定為 3 位,不可擴展。文件名總量必須 ≥ 實際 LOB 段數量,寧多勿少。
掌握 LOB TO、LOBFILE、LOBSINFILE 三大核心選項,科學規劃目錄與前綴數量,結合分批導出策略,即可高效、安全地完成 DB2 LOB 大對象數據的導出任務。