-- 查詢已有的Directory
SQL> select * from dba_directories;
OWNER DIRECTORY_NAME DIRECTORY_PATH
---------- ------------------------- --------------------------------------------------
SYS ORACLE_OCM_CONFIG_DIR E:\app\WPeng\product\11.1.0\db_1/ccr/state
SYS DATA_PUMP_DIR E:\app\WPeng/admin/wpeng/dpdump/
SYS IDR_DIR e:\app\wpeng\diag\rdbms\wpeng\wpeng\ir
-- 將指定的directory 授權于指定user
SQL> grant read,write on directory DATA_PUMP_DIR to ps3;
Grant succeeded.
-- 導入dmp文件
impdp userImportTo/passwordImportTo REMAP_SCHEMA=userExportFrom:userImportTo directory=DATA_PUMP_DIR dumpfile=userExportFrom.dmp schemas=userExportFrom LOGFILE=impdp.log
-- 導出dmp文件
expdp user/password schemas=userExportFrom dumpfile=expdp.dmp DIRECTORY=DATA_PUMP_DIR logfile=expdp.log version=11.1.0.6.0
ORA-39142: incompatible version number 3.1 in dump file
ORA-39142的錯誤是指要導入的dump file中記錄的數據庫版本與要導入的數據庫版本不一致。
導出的dump file是從一套11.1.0.6.0數據庫上EXPDP 導出的,而這套要導入演示系統的數據庫版本是10.2.0.5.0。
將11g數據庫中導出的dump file導入到10g數據庫的過程中,就報這個錯誤了,Metalink ID 553337.1給出了詳細的解決方法。
解決方法是在源庫:即11g的數據庫上重新以EXPDP加上version=10.2.0.5.0參數重新執行導出,然后在目標庫上重新執行上述導入命令,OK!