9

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 >

任何帮助表示赞赏。

4

2 回答 2

27

在更正可能的 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;
于 2013-02-28T21:05:25.683 回答
1

问题在于 dmp 文件本身。我不得不重新导出文件并且命令工作正常。谢谢@贾斯汀洞穴

于 2013-03-02T20:16:54.333 回答