首页 > 解决方案 > 如何在不导入的情况下从 .dmp 文件中列出 Oracle 中的所有模式和表空间?

问题描述

所以,问题是我有一个客户使用 exp 或 expdp 导出的 .DMP 文件。我想获取一些 .dmp 属性,就像我在 SQLServer 中使用以下命令一样:

RESTORE HEADERONLY FROM DISK = N"C:\temp\myfile.bak";

原始表空间和模式是我需要在不使用 SQL Developer 等任何图形工具的情况下重新映射到新文件的信息,然后使用正确的属性值,以编程方式将其导入我的环境。

我尝试使用 CSharp 构建一个 StreamReader,并阅读转储,我得到了很多信息,但我没有看到获取模式的模式。是否可以在 Oracle 中运行类似“RESTORE HEADERONLY”的命令?

标签: c#sqloracle

解决方案


您应该使用impdp 的SQLFILE参数。只需将您的转储放入服务器上的 DATA_PUMP_DIR 并使用 impdp:

impdp hr DIRECTORY=DATAP_PUMP_DIR DUMPFILE=expfull.dmp SQLFILE=DATAP_PUMP_DIR:expfull.sql

推荐阅读