imp 是 Oracle 邏輯導入工具,配合 exp 導出檔實現資料還原與遷移。本文彙整八大高頻使用場景,涵蓋完整導入、Schema 重映射、表級導入、多檔案導入、參數檔、增量導入等實務技巧,並補充執行環境與注意事項。
| # | 場景 | 指令範例 | 關鍵參數 |
|---|---|---|---|
| 1 | 線上說明 | imp help=y | help=y |
| 2 | 完整資料庫導入 | imp system/manager file=bible_db.dmp log=bible_db.log full=y ignore=y | full=y ignore=y |
| 3 | 指定 Schema 導入 | imp system/manager file=seapark.dmp log=seapark.log fromuser=seaparkimp system/manager file=seapark.dmp log=seapark.log fromuser=(seapark,amy,amyc,harold) | fromuser |
| 4 | Schema 重映射導入 | imp system/manager file=tank.dmp log=tank.log fromuser=seapark touser=seapark_copyimp system/manager file=tank.dmp log=tank.log fromuser=(seapark,amy) touser=(seapark1,amy1) | fromuser/touser |
| 5 | 指定表導入 | imp system/manager file=tank.dmp log=tank.log fromuser=seapark tables=(a,b) | tables |
| 6 | 多檔案導入 | imp system/manager file=(paycheck_1,paycheck_2,paycheck_3,paycheck_4) log=paycheck.log filesize=1G full=y | file=(...) filesize |
| 7 | 參數檔導入 | imp system/manager parfile=bible_tables.par參數檔內容: fromuser=seapark touser=seapark_copy file=seapark.dmp log=seapark_import.log | parfile |
| 8 | 增量導入 | imp system/manager inctype=RESTORE full=y file=A.dmp | inctype=RESTORE |
ignore=y:跳過「物件已存在」錯誤,繼續導入資料(重建環境必備)filesize:單一導出檔大小上限,配合多檔案導出/導入parfile:將長參數移至外部檔案,便於版控與複用inctype:RESTORE 完整增量、INCR 增量、SYSINCR 系統級增量SQL*Plus 或命令列執行$ORACLE_HOME/bin 含 imp.exe(Java 包裝類)tnsping 驗證目標資料庫連線IMP_FULL_DATABASE、DBA 等權限INDEXES=N 先導資料,事後 INDEXFILE 產生建索引腳本再建索引V$SESSION_LONGOPS 進度imp 參數組合靈活,掌握 full/fromuser/touser/tables/file/parfile/ignore/inctype 八大核心參數,即能覆蓋從災難恢復到日常遷移的大部分需求。現代環境建議優先使用 Data Pump (impdp) 享受並行、可重啟、網路模式等進階功能。