Oracle 提供兩代導入導出工具:舊版 exp/imp(客戶端程式)與 10g+ 的 expdp/impdp(服務端並行、流式處理)。本文對比兩者定位並列舉高頻命令模板。
| 特性 | exp/imp | expdp/impdp |
|---|---|---|
| 執行位置 | 客戶端 | 資料庫服務端 (Data Pump 引擎) |
| 並行度 | 不支援 | 支援 PARALLEL 參數 |
| 網絡導入 | 不支援 | 支援 NETWORK_LINK |
| 重映射 | 不支援 | 支援 REMAP_SCHEMA/TABLESPACE/DATAFILE |
| 壓縮/加密 | 不支援 | 支援 COMPRESSION/ENCRYPTION |
| 目錄對象 | 不需要 | 必須創建 DIRECTORY 對象 |
# 導出單表 exp user/pwd@orcl TABLES=pet FILE=D:\pet.dmp # 導入單表(全量) imp user2/pwd2@orcl FILE=D:\pet.dmp FULL=Y
適用場景:小數據量、舊版本相容、無服務端目錄權限時。
| 操作 | 命令範例 |
|---|---|
| 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 |
| 重映射 Schema | impdp 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 |
Tools → Export/Import Tables → 選擇連接、對象、輸出文件 → 可視化配置 PARALLEL、REMAP 等參數,適合不熟悉命令行的開發人員。
JOB_NAME 便於監控與重跑。