我获得了一个 DMP 数据泵导出文件,可以导入到我的本地 Oracle 实例中。我试过运行这个命令行:
impdp full=Y 目录=DATA_PUMP_DIR dumpfile=MyDumpFile.dmp logfile=import.log
我得到错误:
ORA-31655: 没有为作业选择数据或元数据对象
ORA-39154: 来自外部模式的对象已从导入中删除
并且没有数据被导入。
根据我的谷歌搜索,一个可能的原因是我需要指定remap_schama
. 但我不知道 dmp 文件中架构的名称是什么。有什么简单的方法可以查出来吗?
编辑:我没有找到这个问题的解决方案,但我确实找到了解决方法......我找到了制作 DMP 的人,并从他那里得到了模式名称。remap_schema
根据他的定义指定,Hey Presto!
使用
sqlfile=
参数 ofimpdp
生成包含转储中所有 DDL/DML 的文件。例如:
在文件中查找
CREATE USER
DDL 语句应该会告诉您执行导入需要哪些模式。例如,从我的测试转储中:
唯一的缺点是,如果 .dmp 文件很大,则生成的 SQL 转储会很大。