从 Oracle DMP 文件中删除一些条目

从 Oracle DMP 文件中删除一些条目

我有一个来自生产数据库的 DMP 文件,我正尝试将其导入测试环境。DMP 文件是使用 exp(完整备份)导出的。我不再有权访问生产数据库,因此无法重新导出它。

我尝试将其导入 11g XE,但限制为 11GB,导入后的转储大约为 11.1GB。我知道 DMP 文件中有一个表不需要其中的所有行。如果我删除所有这些行,我就可以顺利导入它。

知道最好的方法是什么吗?几天来我一直在尝试寻找 Oracle DMP 资源管理器,但没有成功。

我认为我可以这样做:1. 使用某些东西打开 DMP 文件并删除那些行。(我试过文本阅读器,不,它不起作用)2. 以某种方式告诉 imp 不要导入某个表中的所有行。

到目前为止,这两种方法都没有成功。

非常感谢您的帮助,谢谢!

答案1

没有转储文件查看器。唯一可以读取导出实用程序生成的文件的是导入实用程序。

  • 执行导入时,您可以使用参数列出要导入的表TABLES。因此,您可以运行一次导入,仅指定要删除其数据的一个表。然后,您可以删除不想要的任何数据。然后再次运行导入,指定所有其他表。
  • 您还可以在没有索引的情况下进行导入(INDEXES = N),删除不需要的数据,然后使用INDEXFILE导入实用程序的参数生成包含所有索引和表 DDL 的文件,提取索引 DDL,并构建您想要的任何索引。

相关内容