将一个模式导入另一个新模式 - Oracle

时间:2013-02-28 18:22:15

标签: oracle

我使用exp命令行实用程序从一个架构user1导出数据dmp文件。

我想使用imp命令行实用程序将此转储导入另一个新创建的(空)架构用户2。

我尝试过以下几件事:

imp system/password@tesdb fromuser=user1 touser=user2 file=E:\Data\user1.dmp log=E:\Data\user1.log

我收到错误

IMP-00002: failed to open user1.dmp for read
Import file: EXPDAT.DMP >

任何帮助表示感谢。

2 个答案:

答案 0 :(得分:24)

在更正可能的dmp文件问题后,这是一种确保重新映射和适当导入架构的方法。如果需要,这还将确保表空间也会发生变化:

impdp system/<password> SCHEMAS=user1 remap_schema=user1:user2 \
            remap_tablespace=user1:user2 directory=EXPORTDIR \
            dumpfile=user1.dmp logfile=E:\Data\user1.log

EXPORTDIR必须在oracle中定义为系统用户的目录

create or replace directory EXPORTDIR as 'E:\Data';
grant read, write on directory EXPORTDIR to user2;

答案 1 :(得分:1)

问题在于dmp文件本身。我不得不重新导出文件,命令工作正常。谢谢@Justin Cave