导入oracle dumpfile

时间:2013-09-27 17:24:12

标签: oracle import export datapump

我有一个oracle dumpfile,我假设它是使用exp命令而不是expdp创建的

转储文件大约是4 GB,我想在我的Oracle 11.2数据库中导入它。

创建的转储文件的表空间为“spaceA”,但我的表空间为“spaceB”

所以我还需要重新映射表空间。

之前我确实使用过impdp命令,它曾经工作得非常好,但我猜也好 如果使用expdp ..

导出,则只能在dumpfile上使用impdp

由于我对导出/导入过程不太熟悉,我想获得有关此

的帮助

1 个答案:

答案 0 :(得分:1)

如果表空间没有在dmp文件中创建表语句硬编码,那么您应该能够毫无问题地导入。所以我的建议是首先尝试以下内容(更多细节:http://docs.oracle.com/cd/E11882_01/server.112/e10701/original_import.htm

imp user/password@instance file=FILE.dmp log=LOG.log fromuser=DMPSCHEMA touser=NEWSCHEMA

如果您收到IMP-00017错误。然后你必须采取更长的路线。您需要先创建表,然后使用ignore = y导入。

要首先创建表,您需要DDL语句,可以通过运行来获取:

imp user/password@instance file=FILE.dmp log=LOG.log full=y indexfile=INDEXFILE.log

INDEXFILE.log将包含所有create table语句。查找并用“spaceB”替换“spaceA”,创建表,然后使用ignore = y参数运行导入,该参数将忽略表创建错误(因为表已存在)并加载数据:

imp user/password@instance file=FILE.dmp log=LOG.log fromuser=DMPSCHEMA touser=NEWSCHEMA ignore=y