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

Oracle EXP-0006 內部不一致錯誤解決:改用 Data Pump 導入導出

     編輯:Oracle 教學

Oracle EXP-0006 內部不一致錯誤解決:改用 Data Pump 導入導出

傳統 exp/imp 在新安裝環境頻繁出現 EXP-0006: 內部不一致錯誤。本文說明錯誤成因、exp/imp 與 expdp/impdp 差異,並提供完整 Data Pump 遷移實戰步驟(建立目錄、表空間、用戶授權、導出導入),助您繞過舊工具坑點。

一、錯誤背景與工具對比

項目exp/impexpdp/impdp
執行端客戶端伺服端
效能低(單執行緒)高(平行、壓縮、加密)
功能基本導出導入平行、過濾、轉換、壓縮、加密、互動模式
版本支援全版本10g 以上(9i 需 exp/imp)

結論:10g+ 環境優先使用 Data Pump。

二、Data Pump 完整遷移實戰

1. 來源端:建立目錄與授權

-- 建立目錄物件(指向伺服端實體路徑)
CREATE DIRECTORY oracleDB AS 'D:\OracleDB';

-- 授予讀寫權限
GRANT READ, WRITE ON DIRECTORY oracleDB TO radpcs;

2. 來源端:expdp 導出

expdp radpcs/ictradpcs@rdpcs \
  DIRECTORY=oracleDB \
  DUMPFILE=20150226.dmp \
  LOGFILE=20150226.log \
  FULL=Y

3. 目標端:建立表空間(需與來源同名/同數量)

-- 資料表空間
CREATE TABLESPACE RADPCS_DATA
LOGGING
DATAFILE 'D:\OracleDB\radpcs_DATA.DBF' SIZE 200M REUSE
AUTOEXTEND ON NEXT 10M MAXSIZE 16384M
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M;

-- 索引表空間
CREATE TABLESPACE RADPCS_INDX
LOGGING
DATAFILE 'D:\OracleDB\radpcs_INDX.DBF' SIZE 200M REUSE
AUTOEXTEND ON NEXT 10M MAXSIZE 16384M
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M;

關鍵:表空間名稱、檔案數量必須與來源一致,否則導入會報 ORA-39083: tablespace not exist。若不確定,可先建臨時表空間,依錯誤提示補建。

4. 目標端:建立用戶與完整授權

CREATE USER radpcs IDENTIFIED BY ictradpcs
DEFAULT TABLESPACE radpcs_data
QUOTA UNLIMITED ON radpcs_data
QUOTA UNLIMITED ON radpcs_indx;

-- 角色與系統權限(依來源實際授權調整,下列為完整範例)
GRANT CONNECT, RESOURCE, DBA TO radpcs;
GRANT CREATE VIEW, CREATE SEQUENCE, CREATE PROCEDURE TO radpcs;
GRANT READ, WRITE ON DIRECTORY oracleDB TO radpcs;

5. 目標端:建立同名目錄並授權

CREATE DIRECTORY oracleDB AS 'D:\OracleDB';
GRANT READ, WRITE ON DIRECTORY oracleDB TO radpcs;

6. 目標端:impdp 導入

impdp radpcs/ictradpcs@rdpcs \
  DIRECTORY=oracleDB \
  DUMPFILE=20150226.dmp \
  LOGFILE=20150226_imp.log

三、常見問題與對策

  • ORA-39083: tablespace not exist → 依錯誤訊息補建缺少的表空間。
  • 權限不足 → 以 SYSDBA 登入補授 IMP_FULL_DATABASE、READ/WRITE DIRECTORY。
  • 版本不相容 → 導出時加 VERSION=11.2.0.4.0(目標版本)。
  • 平行度調整 → PARALLEL=4 加速大量資料導入導出。

四、小結

遭遇 EXP-0006 時,直接切換到 Data Pump 是最快解法。掌握「目錄→表空間→用戶→授權→導出→導入」六步驟,即可完成跨環境、跨版本的高效能資料遷移。

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