c# - 如何在不导入的情况下从 .dmp 文件中列出 Oracle 中的所有模式和表空间?
问题描述
所以,问题是我有一个客户使用 exp 或 expdp 导出的 .DMP 文件。我想获取一些 .dmp 属性,就像我在 SQLServer 中使用以下命令一样:
RESTORE HEADERONLY FROM DISK = N"C:\temp\myfile.bak";
原始表空间和模式是我需要在不使用 SQL Developer 等任何图形工具的情况下重新映射到新文件的信息,然后使用正确的属性值,以编程方式将其导入我的环境。
我尝试使用 CSharp 构建一个 StreamReader,并阅读转储,我得到了很多信息,但我没有看到获取模式的模式。是否可以在 Oracle 中运行类似“RESTORE HEADERONLY”的命令?
解决方案
您应该使用impdp 的SQLFILE参数。只需将您的转储放入服务器上的 DATA_PUMP_DIR 并使用 impdp:
impdp hr DIRECTORY=DATAP_PUMP_DIR DUMPFILE=expfull.dmp SQLFILE=DATAP_PUMP_DIR:expfull.sql
推荐阅读
- scala - Netty-Socketio Scala 中的内存提升问题
- php - 如何使用 php 将 html 表单数据插入数据库?
- python - 我无法从我的 csv.file 中获取我的确切数据
- javascript - 当两个文件相互需要时,Nodejs“不是构造函数”错误
- python - 使用python打印(非默认联网打印机)
- flutter - 每当我在终端工作时,我写的关于 dart 流的代码都会给我一个空值
- gdb - GNAT studio 2020 社区不再对 GDB Windows 10 做出反应
- xaml - 对象名称在 .XAML 中定义,但无法识别为 .fs
- kubernetes - 如何使用 apiVersion "certificates.k8s.io/v1" 为 webhook 创建 "CertificateSigningRequest"
- php - 消息:count():参数必须是数组或实现 Countable 的对象