-- 查询已有的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!