众所周知,我们从oracle高版本迁移数据库到oracle低版本,是一件不太容易的事情。如果直接使用sql developer工具,可能无法完全迁移成功(中间或多或少会出现错误)。
exp,imp 对于同版本的oracle资料复制备份适用,若是不同版本的oracle资料复制,特被是从高版本备份资料到低版本时候,使用exp,imp有可能出现无法完全还原资料的情况,我们利用oracle自带的工具expdp和impdp,可以轻松帮我们实现。我们以oracle 11g迁移数据库pms到oracle 10g中为例。
从oracle11g导出备份:
expdp USERID='sys/sysadmin@orcl as sysdba' schemas=PMS du mpfile=pms_emp.dmp directory=DATA_PUMP_DIR version=10.2.0.1.0
从oracle10g导入(还原)备份:
还原到同一方案(schema=PMS):
impdp userid='sys/sysadmin@orcl as sysdba' schemas=PMS directory=DATA_PUMP_DIR dumpfile=PMS_EMP.DMP logfile=export.log version=10.2.0.1.0
还原到不同方案(schema=PMS_CHRIS):
impdp userid='sys/sysadmin@orcl as sysdba' directory=DATA_PUMP_DIR dumpfile=PMS_EMP.DMP logfile=export.log version=10.2.0.1.0 REMAP_SCHEMA=PMS:PMS_CHRIS
这种方式进行的数据库迁移,一般情况下数据库还原的比较完整,不容易出现奇怪的错误。