impdp导入数据,我需要加载模式的名称。因此,我需要检查.dmp文件并列出其中的所有模式,如何做到这一点?
更新(2008-09-18 13:02) -更详细的信息:
我当前使用的impdp命令是:
impdp user/password@database directory=DPUMP_DIR
dumpfile=EXPORT.DMP logfile=IMPORT.LOG 并且正确配置了DPUMP_DIR。
SQL> SELECT directory_path
2 FROM dba_directories
3 WHERE directory_name = 'DPUMP_DIR';
DIRECTORY_PATH
-------------------------
D:\directory_path\dpump_dir\是的,EXPORT.DMP文件实际上在那个文件夹中。
运行impdp命令时收到的错误消息是:
Connected to: Oracle Database 10g Enterprise Edition ...
ORA-31655: no data or metadata objects selected for the job
ORA-39154: Objects from foreign schemas have been removed from import此错误消息主要是预期的。我需要impdp命令是:
impdp user/password@database directory=DPUMP_DIR dumpfile=EXPORT.DMP
SCHEMAS=SOURCE_SCHEMA REMAP_SCHEMA=SOURCE_SCHEMA:MY_SCHEMA但要做到这一点,我需要源模式。
发布于 2008-09-19 06:25:02
如果使用可以处理大文件的编辑器打开DMP文件,则可能能够找到提到架构名称的区域。一定不要改变任何事。如果你打开原始转储的副本会更好。
发布于 2011-07-15 14:31:05
如果使用impdp,则将dmp备份的DDL导出到文件中。例如,将其放入文本文件中。
impdp '/ as sysdba' dumpfile=<your .dmp file> logfile=import_log.txt sqlfile=ddl_dump.txt然后检查ddl_dump.txt中的表空间、用户和模式。
根据文档,这实际上并没有修改数据库:
SQL并没有实际执行,目标系统保持不变。
发布于 2008-09-19 16:27:05
更新(2008-09-19 10:05) -解决办法:
我的解决方案:社会工程,我非常努力地挖掘,并找到了一个知道模式名称的人。
技术解决方案:搜索.dmp文件确实产生了模式名。
一旦我知道了模式名称,我就搜索转储文件并学习在哪里找到它。
在.dmp文件中看到模式名称的位置:
<OWNER_NAME>SOURCE_SCHEMA</OWNER_NAME> --这是在每个表名/定义之前看到的。SCHEMA_LIST 'SOURCE_SCHEMA' --这是在.dmp的尽头附近看到的。有趣的是,围绕SCHEMA_LIST 'SOURCE_SCHEMA'部分,它还有用于创建转储的命令行、使用的目录、使用的par文件、运行它的windows版本以及导出会话设置(语言、日期格式)。
因此,问题解决了:)
https://stackoverflow.com/questions/95578
复制相似问题