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

Oracle EXP/IMP 傳統匯出匯入命令速查手冊

     編輯:Oracle 資料庫基礎

全庫匯出/匯入

# 匯出用戶 SJFX 完整物件
exp sjfx/password file=C:\db_backup.dmp

# 匯入 (含 FROMUSER/TOUSER 重映射)
imp sjfx/password fromuser=sjfx touser=sjfx file=C:\db_backup.dmp ignore=y

系統用戶物件匯出 (需高權限)

exp sys/password@db as sysdba file=d:\daochu.dmp owner=(system,sys)

指定表匯出/匯入

# 匯出指定表
exp user/pass@db file=d:\daochu.dmp tables=(table1,table2)

# 匯入指定表
imp user/pass@db file=d:\daoru.dmp tables=(table1)

條件式匯出 (WHERE 子句)

# 匯出 table1 中 filed1 以 '00' 開頭的資料
exp user/pass@db file=d:\daochu.dmp tables=(table1) query="WHERE filed1 LIKE '00%'"

# 匯出 content 表 column_id=53 的資料
exp user/pass file=d:\daochu.dmp tables=(content) query="WHERE column_id=53"

注意:Windows 命令列中雙引號需轉義 \",Linux/Unix 單引號包裹即可。

常用參數速查

參數說明典型值
FULL=Y全庫匯出 (需 DBA 權限)N
OWNER指定 schema 列表schema1,schema2
TABLES指定表列表tab1,tab2
QUERY每表附加 WHERE 條件"WHERE col>100"
FILE匯出檔路徑 (支援多檔 file=file1.dmp,file2.dmp)exp.dmp
IGNORE=Y匯入時忽略建立錯誤 (表已存在)N
FROMUSER/TOUSERSchema 重映射from=A to=B
INDEXES=Y是否匯入索引Y
CONSTRAINTS=Y是否匯入約束Y
GRANTS=Y是否匯入授權Y
ROWS=Y是否匯入資料列Y
COMPRESS=Y匯出時合併區段 (初始區段 = 總大小)Y
BUFFER資料緩衝區大小 (bytes)65536
LOG記錄檔路徑exp.log
PARFILE參數檔路徑 (避免命令列過長/特殊字元)exp.par

遷移至 Data Pump (10g+ 推薦)

  • expdp/impdp:伺服器端並行、可中斷續傳、支援網路鏈路、過濾功能更強。
  • 傳統 exp/imp 已不再增強,僅維持相容。

結語

EXP/IMP 仍是跨版本、小規模、簡單邏輯遷移的利器。掌握上述核心參數與 QUERY 條件式匯出,能應對 80% 日常匯出匯入需求。大規模遷移請務必改用 Data Pump。

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