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

DB2 資料移動三板斧:IMPORT/EXPORT/LOAD 完整操作手冊

     編輯:DB2 教學

三大指令定位

指令方向日誌觸發器/約束效能典型用途
IMPORT檔案 → 表✅ 完整記錄✅ 觸發中中小量資料、需觸發業務邏輯、跨平台遷移
EXPORT表 → 檔案✅ 記錄❌ 不觸發高備份、異構匯出、報表餵資
LOAD檔案 → 表❌ 最小記錄❌ 不觸發(需 SET INTEGRITY)極高大量初始載入、數據倉庫 ETL、災難恢復

檔案格式:ASC vs DEL

ASC(非定界 ASCII)

10 head Office 160 corporate new york
15 new england 50 eastern boston

固定寬度,需指定 MODIFIED BY COLDEL0x09 等位置參數,解析快但維護難。

DEL(定界 ASCII,推薦)

10,"head office",160,"corporate","new york"
15,"new england",50,"eastern","boston"

欄位/列分隔符可自訂(COLDEL, DELDEL, CHARDEL),通用性強,Excel/ETL 工具原生支援。

實戰範例

EXPORT

db2 "EXPORT TO /data/emp.del OF DEL MODIFIED BY CHARDEL\"\" SELECT * FROM EMPLOYEE"

IMPORT(含 REPLACE 清空表)

db2 "IMPORT FROM /data/emp.del OF DEL MODIFIED BY CHARDEL\"\" REPLACE INTO EMPLOYEE"

LOAD(高效能,事後 SET INTEGRITY)

db2 "LOAD FROM /data/emp.del OF DEL MODIFIED BY CHARDEL\"\" REPLACE INTO EMPLOYEE NONRECOVERABLE"
db2 "SET INTEGRITY FOR EMPLOYEE IMMEDIATE CHECKED"

NONRECOVERABLE 跳過日誌,速度最快;可恢復資料庫需改 COPY YES 指定備份影像路徑。

避坑清單

  • LOAD 後必須 SET INTEGRITY,否則表處於 CHECK PENDING 狀態不可用
  • IMPORT/LOAD 前先 RUNSTATS 目標表,載入後再 RUNSTATS 更新統計
  • 大檔案切分多檔並行 LOAD(db2 "LOAD FROM file1,file2 OF DEL...")
  • 跨平台遷移統一用 DEL + UTF-8,避免碼頁轉換錯誤
  • Windows 路徑用正斜線或雙反斜線:C:/data/emp.del 或 C:\\data\\emp.del
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved