首页 文章

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

提问于
浏览
0

我试图使用SQLFILE参数将转储文件导入.sql文件 .

我使用命令“impdp username / password 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 . 所以,我相信转储已正确导出 .

我在导入命令中遗漏了什么吗?我应该使用其他参数来获取内容吗?

提前致谢!

1 回答

  • 1

    你的期望是错的,我很害怕 . 你要求它做一些不适合的事情 .

    The documentation for SQLFILE says

    目的指定一个文件,其中将根据其他参数将Import执行的所有SQL DDL写入其中 .

    所以它只会包含DDL .

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

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

相关问题