小编典典

使用SQLFILE参数导入转储不返回表内的数据

sql

我正在尝试使用SQLFILE参数将转储文件导入到.sql文件。

我使用了命令“ impdp用户名/密码DIRECTORY = dir DUMPFILE = sample.dmp SQLFILE = sample.sql
LOGFILE = sample.log”

我希望这会返回一个包含表内内容的sql文件。但是它创建了一个仅包含DDL查询的sql文件。

对于导出,我使用了“ expdp用户名/密码DIRECTORY = dir DUMPFILE = sample.dmp LOGFILE =
sample.log FULL = y”

转储文件大小为130 GB。因此,我相信转储已正确导出。

我在导入命令中缺少什么吗?我还应该使用其他任何参数来获取内容吗?

提前致谢!


阅读 136

收藏
2021-04-14

共1个答案

小编典典

恐怕您的期望是错误的。您是在要求它执行其不适合的工作。

的文档中SQLFILE

目的

指定一个文件,该文件将根据其他参数将要执行导入的所有SQL DDL写入其中。

因此,它将仅包含DDL。

没有一种机制可以将.dmp文件转换为.sql包含插入语句的文件。如果需要将数据放入表中,请使用本机导入。

单独的插入语句(如果可以生成它们,则SQL
Developer将作为与数据泵导出无关的单独任务来执行)会更慢,出现LOB问题,并且必须小心运行它们的顺序,除非完整性约束被禁用。数据泵将为您解决所有这些问题。

2021-04-14