| 操作 | 方向 | 用途 | 特點 |
|---|---|---|---|
| Import(導入) | 檔案 → 表 | 資料載入、跨平台遷移 | 支援多種格式、記錄日誌、可恢復、速度較慢 |
| Export(導出) | 表 → 檔案 | 備份、遷移、報表、歸檔 | 最簡單、幾乎不出錯、支援多格式、不阻塞讀取 |
| Load(裝入) | 檔案 → 表 | 大量資料高速載入、初始化資料倉庫 | 不記錄日誌(可選)、直接寫頁、速度最快、需後續備份才能前滾恢復 |
異構資料庫間遷移(Oracle ↔ DB2 ↔ SQL Server ↔ MySQL 等)的通用橋樑。所有主流資料庫均支援 CSV/DEL/IXF 等標準格式,使「導出 → 轉換 → 導入」成為最通用、風險最低的遷移模式。
固定寬度欄位,無分隔符,靠起始/結束位置定義欄界。適合大型機下載、列印報表轉檔。
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"
Lotus 1-2-3 / Symphony 專用格式,現較少用,主要用於與舊版 Lotus 產品交換資料。
DB2 專屬二進位交換格式。包含表結構、索引、授權、資料,可 REPLACE_CREATE 直接重建表。跨 DB2 版本/平台遷移首選,資料完整性最強。
EXPORT TO c:\org.txt OF DEL SELECT * FROM org
EXPORT TO c:\staff.txt OF DEL
MODIFIED BY coldel$ chardel'' decplusblank
SELECT * FROM staff
coldel$:欄分隔符改為 $chardel'':字串引號改為單引號decplusblank:十進制正數前綴改為空白而非 +EXPORT TO d:\myfile.del OF DEL
LOBS TO d:\lob\ LOBFILE lobs
MODIFIED BY lobsinfile
SELECT * FROM emp_photo
d:\lob\lobs.001、lobs.002… 系列檔案lobs.001.0.43690/)d:\lob 必須預先存在EXPORT TO d:\awards.ixf OF IXF
MESSAGES d:\msgs.txt
METHOD N(c1,c2,c3,c4,c5,c6,c7)
SELECT * FROM staff WHERE dept = 20
MESSAGES:記錄成功/警告/錯誤細節,事後稽核必備METHOD N:僅 IXF/WSF 支援,重新命名欄位IMPORT FROM c:\org.txt OF DEL INSERT INTO org
IMPORT FROM c:\org2.txt OF ASC
METHOD L(1 5, 6 19, 20 25, 26 37, 38 50)
INSERT INTO org
METHOD L 指定每欄起始/結束位元組位置。
# 先導出帶欄名的 IXF
EXPORT TO d:\org.ixf OF IXF METHOD N(a,b,c,d,e) SELECT * FROM org
# 再導入時選取 d,e,b 三欄,順序重排,若表不存在則自動建立
IMPORT FROM d:\org.ixf OF IXF METHOD N(d,e,b) REPLACE_CREATE INTO orgtest
| 模式 | 行為 | 適用場景 |
|---|---|---|
| INSERT | 追加到現有資料 | 增量載入、日誌可恢復 |
| INSERT_UPDATE | PK 衝突則更新,否則插入 | 合併同步、需主鍵 |
| REPLACE | 先清空表再載入 | 全量重刷、表已存在 |
| REPLACE_CREATE | 表不存在則依 IXF 結構建表再載入 | 跨環境遷移、僅限 IXF |
IMPORT FROM c:\org2.txt OF ASC
MODIFIED BY nullindchar=#
METHOD L(1 5, 6 19, 20 25, 26 37, 38 50)
NULL INDICATORS(0,0,0,0,38)
REPLACE INTO org
第 5 欄從第 38 字元起若為 # 視為 NULL。
LOAD FROM mycurs OF CURSOR INSERT INTO target 直接跨表/跨資料庫高速搬移,無中間檔案。FOR EXCEPTION exc_table 收集違約列,結構同目標表 + TIMESTAMP + CLOB(32K) 記錄違約詳情。MODIFIED BY DUMPFILE=d:\dump 收集格式錯誤列(如字串寫入數值欄)。WITH DISTRIBUTION AND DETAILED INDEXES ALL),僅相容 REPLACE 模式。| 參數 | 效果 | 建議 |
|---|---|---|
| NONRECOVERABLE | 不記錄日誌,載入最快,但不可前滾恢復 | 初始載入、可重建資料時使用 |
| COPY YES/NO | 歸檔日誌模式下控制備份掛起狀態 | COPY YES 避免表空間 Backup Pending |
| FASTPARSE | 減少資料檢查(DEL/ASC),已知資料乾淨時開啟 | 可提升 20-30% 速度 |
| ANYORDER | SMP 環境下允許無序載入,配合 CPU_PARALLELISM > 1 | 多核並行載入加速 |
| DATA BUFFER | 指定 4KB 頁面緩衝區數量 | 視記憶體調大至 1000+ 頁 |