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

Oracle 資料匯入匯出實戰範例:exp/imp 參數全景與權限配置指南

     編輯:Oracle 資料庫基礎

Oracle exp/imp 是傳統邏輯備份/還原工具,相當於資料庫級「備份與還原」。exp 將遠端資料導出為本地 .dmp 二進位檔,imp 將 .dmp 導入遠端資料庫,可構建測試/正式雙環境。本文彙整八大導出場景、四大導入場景、壓縮技巧、權限授予腳本與擁有者變更技巧。

執行環境

  • 可在 SQL*Plus 或 DOS/Shell 執行
  • Oracle 8i:$ORACLE_HOME/bin 含 exp.exe、imp.exe(Java 包裝類)
  • SQL*Plus 內呼叫上述可執行檔完成功能

一、資料導出 實戰範例

場景指令範例關鍵參數
完整資料庫導出exp system/manager@TEST file=d:\daochu.dmp full=yfull=y
指定 Schema 導出exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys)owner
指定表導出exp aichannel/aichannel@TESTDB2 file=d:\data\newsmgnt.dmp tables=(inner_notify,notify_staff_relat)tables
條件式導出exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query="WHERE filed1 LIKE '00%'"query
導出並壓縮上述指令加 compress=y 或事後 winzipcompress=y

二、資料導入 實戰範例

場景指令範例關鍵參數
完整導入imp system/manager@TEST file=d:\daochu.dmp-
完整導入忽略錯誤imp aichannel/aichannel@HUST full=y file=d:\data\newsmgnt.dmp ignore=yignore=y 跳過物件已存在錯誤
指定表導入imp system/manager@TEST file=d:\daochu.dmp tables=(table1)tables
不同 Schema 間導入imp system/manager file=tank.log fromuser=seapark touser=seapark_copyfromuser/touser

三、實務關鍵提醒

  • 權限足夠:操作帳號需 EXP_FULL_DATABASE、IMP_FULL_DATABASE、DBA 等角色
  • 網路可達:tnsping <TNS名> 驗證連線
  • 版本相容:imp 版本需 ≥ exp 版本(向上相容)
  • 字元集一致:三端字元集必須一致(參見字元集專文)
  • 先刪後導:重建物件建議先 DROP TABLE 再 imp

四、授予匯入匯出權限腳本

-- 1. 建立使用者(若不存在)
CREATE USER username IDENTIFIED BY password;

-- 2. 授予完整權限
GRANT CREATE USER, DROP USER, ALTER USER,
      CREATE ANY VIEW, DROP ANY VIEW,
      EXP_FULL_DATABASE, IMP_FULL_DATABASE,
      DBA, CONNECT, RESOURCE, CREATE SESSION
TO username;

-- 3. 執行匯入
imp userid=system/manager full=y file=backup.dmp

五、變更物件擁有者技巧

Oracle 不支援直接 ALTER TABLE ... OWNER TO ...,利用 exp/imp 間接實現:

# 1. 導出
exp system/manager file=obj.dmp owner=old_user

# 2. 建立參數檔 import.par
fromuser=old_user
touser=new_user
file=obj.dmp
ignore=y

# 3. 匯入
imp parfile=import.par

結語

exp/imp 雖為傳統工具,在跨版本遷移、Schema 重組、小量資料同步場景仍具不可替代性。掌握 full/owner/tables/query/compress/ignore/fromuser/touser/parfile 核心參數組合,即能應對 90% 實務需求。大量資料場景建議改用 Data Pump (expdp/impdp) 並行處理。

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