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

DB2 LOB 數據導出全攻略:LOB TO/LOBFILE/MODIFIED BY LOBSINFILE 參數深度解析與文件名規劃計算

     編輯:DB2 教學

業務場景與核心挑戰

員工信息表 USER_INFO 含 ID_CARD_COPY (BLOB/CLOB) 超 32KB。標準 EXPORT 僅導出 LOB 定位器 (文件名),實際二進制內容需通過專用參數導出至獨立文件。核心難點:**文件名唯一性、目錄分佈、批次控制**。

完整導出命令語法

EXPORT TO user_info.ixf OF IXF
LOB TO /export/lob1, /export/lob2
LOFILE lob1, lob2
MODIFIED BY LOBSINFILE
SELECT EMP_NO, EMP_NAME, ID_CARD_COPY FROM USER_INFO;

關鍵參數深度解析

參數作用規則與限制
LOB TO指定 LOB 文件存儲目錄列表逗號分隔多目錄,**同目錄下文件名必須唯一**,跨目錄可重名
LOFILE指定 LOB 文件基本名 (前綴)逗號分隔多前綴,系統自動追加 3 位數字擴展 (001-999),每前綴最多 999 文件
MODIFIED BY LOBSINFILE聲明採用外部文件模式必須指定,否則 LOB 內容內聯導出 (受 32KB 限制)

文件名容量規劃公式

可用文件名總數 = 目錄數 × 前綴數 × 999

示例:2 目錄 × 2 前綴 × 999 = 3,996 文件名。若表有 2 萬行 × 2 LOB 列 = 4 萬 LOB,**文件名不足導致導出失敗**。

擴容策略

  • 增加目錄:LOB TO /d1,/d2,/d3,/d4
  • 增加前綴:LOFILE p1,p2,p3,p4
  • 不可增加擴展位數:固定 3 位數字 (001-999)。

分批導出最佳實踐

-- 按部門分批,每批 5000 行
EXPORT TO user_info_dept1.ixf OF IXF
LOB TO /export/lob1,/export/lob2 LOFILE p1,p2 MODIFIED BY LOBSINFILE
SELECT EMP_NO, EMP_NAME, ID_CARD_COPY FROM USER_INFO WHERE DEPT='D001';

EXPORT TO user_info_dept2.ixf OF IXF
LOB TO /export/lob3,/export/lob4 LOFILE p3,p4 MODIFIED BY LOBSINFILE
SELECT EMP_NO, EMP_NAME, ID_CARD_COPY FROM USER_INFO WHERE DEPT='D002';

優勢:單次耗時可控、失敗影響面小、文件名按業務分組便於後續核對。

常見錯誤與排查

  • SQL3525N:文件名耗盡 → 擴容目錄/前綴或分批。
  • SQL0968C:目錄文件系統滿 → 擴容文件系統或調整 fsize (參考文章 225486)。
  • 導出耗時極長:啟用並行導出 (多會話不同 WHERE 條件)、使用 DB2PARALLEL 環境變量。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved