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

Oracle EXP/IMP 數據導出導入實戰全攻略:全庫/模式/表/查詢導出、忽略錯誤導入、改變擁有者、PARFILE 模板

     編輯:Oracle 資料庫基礎

前言

EXP/IMP 是 Oracle 邏輯備份遷移的經典工具組。本文匯總全庫、模式、表級、查詢過濾導出,導入忽略錯誤、改變擁有者、PARFILE 參數文件模板,並附實際屏幕輸出示例與權限準備清單。

導出 (EXP) 實例大全

場景命令關鍵參數
全庫導出 (需 DBA)exp system/manager@TEST file=d:\daochu.dmp full=yFULL=Y 導出所有模式
指定模式導出exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys)OWNER 列表
指定表導出exp aichannel/aichannel@TESTDB2 file=d:\datanewsmgnt.dmp tables=(inner_notify,notify_staff_relat)TABLES 列表
查詢過濾導出exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query="WHERE filed1 LIKE '00%'"QUERY 含 WHERE 子句,雙引號轉義
壓縮導出上述命令追加 COMPRESS=Y導出時壓縮段,IMP 時一次性分配

導入 (IMP) 實例大全

場景命令關鍵參數
全庫導入imp system/manager@TEST file=d:\daochu.dmp報錯表已存在則跳過
全庫導入忽略錯誤imp aichannel/aichannel@HUST full=y file=d:\datanewsmgnt.dmp ignore=yIGNORE=Y 忽略對象存在錯誤繼續導入數據
表級導入imp system/manager@TEST file=d:\daochu.dmp tables=(table1)TABLES 列表
改變擁有者導入 (PARFILE)見下文 PARFILE 模板FROMUSER/TOUSER 映射

PARFILE 參數文件模板 (生產級)

文件 import9.par:


FROMUSER=TGPMS
TOUSER=TGPMS2
ROWS=Y
INDEXES=Y
GRANTS=Y
CONSTRAINTS=Y
BUFFER=409600
FILE=/backup/ctgpc_20030623.dmp
LOG=/backup/import_20030623.log

調用:imp parfile=/filepath/import9.par

優勢:命令行不暴露密碼、參數集中維護、易於版本控制、支援長參數列表。

實際屏幕輸出示例 (導入驗證)


F:\Work\Oracle_Databackup>imp userid=test/test full=y file=inner_notify.dmp

Import: Release 8.1.7.0.0 - Production on 星期四 2月 16 16:50:05 2006
(c) Copyright 2000 Oracle Corporation. All rights reserved.

連接到: Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production
With the Partitioning option
JServer Release 8.1.7.0.0 - Production

經由常規路徑導出由 EXPORT:V08.01.07 創建的文件
已經完成 ZHS16GBK 字符集和 ZHS16GBK NCHAR 字符集中的導入
導出服務器使用 UTF8 NCHAR 字符集 (可能的 ncharset 轉換)
. 正在將 AICHANNEL 的對象導入到 AICHANNEL
. . 正在導入表 "INNER_NOTIFY"          4 行被導入
準備啟用約束條件...
成功終止導入,但出現警告。

前置權限準備 (導入用戶必備)


-- 以 SYSTEM 登錄
CREATE USER target_user IDENTIFIED BY password;
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 target_user;

或按最小權限原則僅授 RESOURCE, CREATE SESSION, IMP_FULL_DATABASE 等必要權限。

連通性驗證


tnsping TEST  # 驗證網絡連通
sqlplus user/pass@TEST  # 驗證認證

常見問題與解決

現象原因解決
IMP-00010: not a valid export file文件損壞/版本不匹配/傳輸模式錯誤 (ASCII vs BINARY)FTP 用 BINARY 模式;EXP/IMP 版本兼容性矩陣查 MOS
ORA-39142: incompatible versionData Pump (expdp/impdp) 版本不兼容用同版本 expdp/impdp 或降級導出版本 VERSION=11.2
字符集轉換警告源/目標數據庫字符集不同確保 NLS_LANG 一致;必要時用 CONVERT 字符集遷移
導入極慢未禁用約束/索引/觸發器、提交頻繁、BUFFER 過小INDEXES=N CONSTRAINTS=N GRANTS=N 導入數據後再啟用;BUFFER=10485760;COMMIT=Y (數組提交)

總結

EXP/IMP 雖屬傳統工具,但在中小庫遷移、跨版本導出、表級精確控制、改變擁有者等場景仍具不可替代優勢。掌握 FULL/OWNER/TABLES/QUERY/COMPRESS/IGNORE/FROMUSER/TOUSER/PARFILE 核心參數組合,配合權限準備、字符集對齊、性能調優,即可應對 95% 邏輯遷移需求。

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