我试图使用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 回答
你的期望是错的,我很害怕 . 你要求它做一些不适合的事情 .
The documentation for SQLFILE says:
所以它只会包含DDL .
没有一种机制可以将
.dmp
文件转换为包含插入语句的.sql
. 如果需要将数据放入表中,只需使用本机导入即可 .单个插入语句 - 如果您可以生成它们,SQL Developer将作为与您的数据泵导出无关的单独任务执行 - 将会更慢,LOB会出现问题,并且必须小心它们的运行顺序,除非完整性约束被禁用 . 数据泵为您完成所有这些工作 .