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

Oracle IMP 匯入工具實戰:從命令列到互動模式完整教學

     編輯:Oracle 資料庫基礎

掌握 Oracle IMP 資料匯入核心操作

IMP (Import) 是與 EXP 配套的邏輯還原工具。本文系統說明表級、Schema 級匯入的命令列參數、跨使用者遷移技巧、互動模式流程,助你精準完成資料還原與環境遷移。

核心匯入場景與指令

場景指令範例關鍵參數說明
匯入指定表至原使用者imp scott/Oracle@charge FILE=tab2.dmp TABLES=dept,empTABLES 指定表清單
跨使用者匯入表imp system/Oracle@charge FILE=tab2.dmp TABLES=dept,emp FROMUSER=scott TOUSER=systemFROMUSER/TOUSER 對應來源/目標 Schema
匯入整個 Schema 至原使用者imp scott/Oracle@charge FILE=schema2.dmp預設匯入該使用者所有物件
跨使用者匯入 Schemaimp system/Oracle@charge FILE=schema2.dmp FROMUSER=scott TOUSER=system需 IMP_FULL_DATABASE 或 DBA 權限

互動模式操作流程

  1. 執行 imp 進入互動介面
  2. 輸入使用者名稱/密碼
  3. 指定匯入檔案 (.dmp)
  4. 設定插入緩衝區大小 (最小 8192,大量資料建議調大)
  5. 選擇匯入類型:(2)Users 結構描述 / (3)Tables 表模式
  6. 依模式回答提示:
    • 表模式:是否匯出資料、是否壓縮、輸入表名
    • Schema 模式:是否匯入權限、資料、壓縮
  7. 等待 "Import terminated successfully without warnings." 完成

跨使用者遷移關鍵點

  • 目標使用者需預先建立並授予足夠表空間配額
  • 若來源/目標表空間不同,匯入時會自動嘗試在目標使用者預設表空間建立物件
  • 含外鍵參考的表建議先匯入父表,或使用 INDEXES=N 先匯入資料再建索引

常用進階參數

  • IGNORE=Y:忽略建立錯誤 (如表已存在),繼續匯入資料
  • COMMIT=Y:每匯入一筆資料提交,減少回滾段壓力
  • BUFFER:插入緩衝區,大量資料建議 64000+
  • DESTROY=Y:覆寫現有資料檔 (慎用)
  • LOG=imp.log:記錄匯入過程供審計

遷移最佳實務

  • 大型遷移優先使用 Data Pump (IMPDP) 獲得平行效能
  • 跨版本遷移:低版本 EXP → 高版本 IMP (相容性最佳)
  • 匯入前先在測試環境驗證,確認物件相依性與資料完整性

熟練 IMP 操作配合 EXP,構建 Oracle 邏輯備份還原的閉環能力。

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