首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

Oracle Data Pump (EXPDP/IMPDP) 與傳統 EXP/IMP 完整差異對比與參數大全

     編輯:Oracle 資料庫相關知識

Data Pump 是 Oracle 10g 引入的服務端並行導入導出架構,在效能、功能、彈性上全方位超越客戶端工具 EXP/IMP。本文系統對比兩者差異,並提供 EXPDP/IMPDP 核心參數完整速查表與四大導出模式實戰範例。

核心架構差異

維度EXP / IMPEXPDP / IMPDP
運行進程客戶端進程資料庫伺服器背景進程 (DM00, DW00...)
資料流向DB → 網路 → 客戶端 → 檔案DB → 伺服器本地檔案系統 / ASM
並行度單執行緒PARALLEL=n 多執行緒/多作業
可中斷/重啟不支援支援 ATTACH/JOB_NAME 重啟
網路鏈路導入不支援NETWORK_LINK 直連遠端 DB 導入
壓縮/加密不支援COMPRESSION/ENCRYPTION
過濾/轉換極少QUERY/INCLUDE/EXCLUDE/REMAP_*/TRANSFORM
版本相容所有版本10g+(9i 需用 EXP)
Dump 相容性IMP 僅讀 EXP DumpIMPDP 僅讀 EXPDP Dump

EXPDP 核心參數速查(27 參數)

參數說明典型值/範例
ATTACH連接現有作業ATTACH=scott.export_job
CONTENT導出內容類型ALL | DATA_ONLY | METADATA_ONLY
DIRECTORY目錄物件(必填)DIRECTORY=dp_dump
DUMPFILEDump 檔名(支援多檔、替換變數)DUMPFILE=exp_%U.dmp
ESTIMATE空間估算方法BLOCKS | STATISTICS
ESTIMATE_ONLY僅估算不執行Y | N
EXCLUDE排除物件類型/名稱EXCLUDE=TABLE:"LIKE 'TMP_%'"
FILESIZE單檔最大尺寸FILESIZE=2G
FLASHBACK_SCN一致性 SCNFLASHBACK_SCN=123456789
FLASHBACK_TIME一致性時間點FLASHBACK_TIME="TO_TIMESTAMP('2024-01-15 10:00','YYYY-MM-DD HH24:MI')"
FULL全庫導出Y | N
HELP顯示幫助HELP=Y
INCLUDE包含物件類型/名稱INCLUDE=TABLE:"IN ('EMP','DEPT')"
JOB_NAME作業名稱JOB_NAME=exp_full_20240115
LOGFILE日志檔名LOGFILE=exp_full.log
NETWORK_LINK遠端 DB LinkNETWORK_LINK=remote_db_link
NOLOGFILE不產生日志Y | N
PARALLEL並行度PARALLEL=4
PARFILE參數檔路徑PARFILE=/scripts/exp_full.par
QUERY表級 WHERE 過濾QUERY=emp:"WHERE deptno=20"
SCHEMASSchema 模式導出SCHEMAS=hr,oe,scott
STATUS顯示進度間隔(秒)STATUS=30
TABLES表模式導出TABLES=scott.emp,scott.dept
TABLESPACES表空間模式導出TABLESPACES=users,tools
TRANSPORT_FULL_CHECK可傳輸表空間完整檢查Y | N
TRANSPORT_TABLESPACES可傳輸表空間模式TRANSPORT_TABLESPACES=tbs1,tbs2
VERSION元數據相容版本COMPATIBLE | LATEST | 12.2

四大導出模式實戰範例

1. 表模式

expdp scott/tiger@orcl \
  DIRECTORY=dp_dump \
  DUMPFILE=tables_%U.dmp \
  TABLES=emp,dept,bonus \
  PARALLEL=4 \
  COMPRESSION=ALL

2. Schema 模式

expdp system/manager@orcl \
  DIRECTORY=dp_dump \
  DUMPFILE=schemas_%U.dmp \
  SCHEMAS=hr,oe,pm \
  PARALLEL=8 \
  ENCRYPTION=ALL \
  ENCRYPTION_PASSWORD=StrongPwd#2024

3. 表空間模式

expdp system/manager@orcl \
  DIRECTORY=dp_dump \
  DUMPFILE=tbs_%U.dmp \
  TABLESPACES=users,tools,indx \
  PARALLEL=4

4. 全庫模式

expdp system/manager@orcl \
  DIRECTORY=dp_dump \
  DUMPFILE=full_%U.dmp \
  FULL=Y \
  PARALLEL=16 \
  COMPRESSION=ALL \
  ENCRYPTION=DATA_ONLY \
  ENCRYPTION_PASSWORD=StrongPwd#2024 \
  LOGFILE=full_exp.log

IMPDP 關鍵差異參數

參數說明典型值
REMAP_SCHEMASchema 重映射REMAP_SCHEMA=src:dst
REMAP_TABLESPACE表空間重映射REMAP_TABLESPACE=old_tbs:new_tbs
REMAP_DATAFILE資料檔路徑重映射REMAP_DATAFILE='/old/path':'/new/path'
TABLE_EXISTS_ACTION目標表存在動作SKIP | APPEND | TRUNCATE | REPLACE
TRANSFORM元數據轉換TRANSFORM=SEGMENT_ATTRIBUTES:N:TABLE
PARTITION_OPTIONS分區轉換選項DEPARTITION | MERGE | NONE

前置作業:目錄物件與權限

-- 建立目錄物件(指向伺服器端實際路徑)
CREATE OR REPLACE DIRECTORY dp_dump AS '/u01/dpdump';

-- 授權
GRANT READ, WRITE ON DIRECTORY dp_dump TO scott;
GRANT DATAPUMP_EXP_FULL_DATABASE, DATAPUMP_IMP_FULL_DATABASE TO scott;

Data Pump 不是「新瓶裝舊酒」,而是架構重寫。掌握 PARALLEL、REMAP_*、TRANSFORM、NETWORK_LINK、ENCRYPTION 等核心能力,才能在 TB 級遷移、跨版本升級、雲上線、DevOps CI/CD 中發揮最大價值。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved