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

Oracle exp/imp 與 Data Pump 導入導出對比速查

     編輯:Oracle 教學

傳統 exp/imp 與 Data Pump (expdp/impdp) 核心差異與常用命令

Oracle 提供兩代導入導出工具:舊版 exp/imp(客戶端程式)與 10g+ 的 expdp/impdp(服務端並行、流式處理)。本文對比兩者定位並列舉高頻命令模板。

1. 核心差異表

特性exp/impexpdp/impdp
執行位置客戶端資料庫服務端 (Data Pump 引擎)
並行度不支援支援 PARALLEL 參數
網絡導入不支援支援 NETWORK_LINK
重映射不支援支援 REMAP_SCHEMA/TABLESPACE/DATAFILE
壓縮/加密不支援支援 COMPRESSION/ENCRYPTION
目錄對象不需要必須創建 DIRECTORY 對象

2. 傳統 exp/imp 經典範例

# 導出單表
exp user/pwd@orcl TABLES=pet FILE=D:\pet.dmp
# 導入單表(全量)
imp user2/pwd2@orcl FILE=D:\pet.dmp FULL=Y

適用場景:小數據量、舊版本相容、無服務端目錄權限時。

3. Data Pump 高頻模板

操作命令範例
Schema 導出expdp user/pwd DIRECTORY=dp_dir DUMPFILE=schema.dmp SCHEMAS=scott
並行導出expdp user/pwd DIRECTORY=dp_dir DUMPFILE=scott_%U.dmp PARALLEL=8 JOB_NAME=exp_scott
表導出expdp user/pwd DIRECTORY=dp_dir DUMPFILE=tables.dmp TABLES=emp,dept
查詢條件導出expdp user/pwd DIRECTORY=dp_dir DUMPFILE=qry.dmp TABLES=emp QUERY='WHERE deptno=20'
表空間導出expdp user/pwd DIRECTORY=dp_dir DUMPFILE=ts.dmp TABLESPACES=users,example
全庫導出expdp user/pwd DIRECTORY=dp_dir DUMPFILE=full.dmp FULL=Y
Schema 導入impdp user/pwd DIRECTORY=dp_dir DUMPFILE=schema.dmp SCHEMAS=scott
重映射 Schemaimpdp user/pwd DIRECTORY=dp_dir DUMPFILE=schema.dmp REMAP_SCHEMA=scott:system
重映射表空間impdp user/pwd DIRECTORY=dp_dir DUMPFILE=ts.dmp REMAP_TABLESPACE=old_ts:new_ts
追加模式impdp user/pwd DIRECTORY=dp_dir DUMPFILE=schema.dmp TABLE_EXISTS_ACTION=APPEND
網絡導入impdp user/pwd DIRECTORY=dp_dir NETWORK_LINK=remote_db SCHEMAS=scott PARALLEL=4

4. PL/SQL Developer 圖形化導入導出

Tools → Export/Import Tables → 選擇連接、對象、輸出文件 → 可視化配置 PARALLEL、REMAP 等參數,適合不熟悉命令行的開發人員。

5. 選型建議

  • 10g 以上生產環境首選 Data Pump:性能高、功能全、支援斷點續傳。
  • 跨版本遷移(如 9i→11g)或極小表導出可用 exp/imp。
  • 定時備份腳本建議封裝 expdp,配合 JOB_NAME 便於監控與重跑。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved