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

2024-03-22

我正在尝试使用 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。所以,我相信转储已正确导出。

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

提前致谢!


恐怕你的期望是错误的。你要求它做一些它不适合的事情。

的文档SQLFILE says http://docs.oracle.com/cd/E11882_01/server.112/e22490/dp_import.htm#SUTIL933:

Purpose

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

所以它只会包含 DDL。

没有一个机制可以扭转.dmp文件到一个.sql包含插入语句。如果需要将数据放入表中,只需使用原生导入即可。

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

随机推荐