Import dump with SQLFILE parameter not returning the data inside the table

夙愿已清 提交于 2019-12-02 17:50:50

问题


I am trying to import the dump file to .sql file using SQLFILE parameter.

I used the command "impdp username/password DIRECTORY=dir DUMPFILE=sample.dmp SQLFILE=sample.sql LOGFILE=sample.log"

I expected this to return a sql file with contents inside the table. But it created a sql file with only DDL queries.

For export I used, "expdp username/password DIRECTORY=dir DUMPFILE=sample.dmp LOGFILE=sample.log FULL=y"

Dump file size is 130 GB. So, I believe the dump has been exported correctly.

Am I missing something in the import command? Is there any other parameter should I use to get the contents?

Thanks in advance!


回答1:


Your expectation was wrong, I'm afraid. You're asking it to do something it isn't designed for.

The documentation for SQLFILE says:

Purpose

Specifies a file into which all of the SQL DDL that Import would have executed, based on other parameters, is written.

So it will only ever contain DDL.

There isn't a mechanism to turn a .dmp file into a .sql containing insert statements. If you need to put the data into a table, just use the native import.

Individual insert statements - if you could generate them, which SQL Developer will do as a separate task unrelated to your data pump export - would be slower, would have problems with LOBs, and would have to be careful about the order they were run unless integrity constraints were disabled. Data pump takes care of all of that for you.



来源:https://stackoverflow.com/questions/24512906/import-dump-with-sqlfile-parameter-not-returning-the-data-inside-the-table

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!