从一个Oracle数据库具有100多个表中提取特定数据到另一个具有结构但不包含数据的Oracle数据库的工具

问题描述

我面临以下挑战: 我有一个很大的 Oracle数据库 1,其中包含100个表,这些表通过一对多和多对多关系进行链接

我只需要将主要的 Oracle数据库#1 中的某些行复制到具有相同数据结构(表)但没有数据的 Oracle数据库#2 中。 考虑到由一对多关系和多对多关系引起的约束,有没有一种工具可以帮助我使加载过程自动化。

解决方法

“复制” 所有数据是一项相对简单的任务。怎么样?使用导出/导入数据泵(甚至是原始的exp / imp实用程序)。

尽管您可以应用WHERE子句进行导出,但是我不确定对100个表执行此操作是否可行。您应该知道表如何相互关联,这样您就不会错过任何记录。

因此,如果您要逐表执行此操作,那么也许最好编写(PL /)SQL代码来完成此任务。一个程序,也许?使用IN参数,您将能够复制所需的任何记录集。当然,如果创建了新表或修改了关系,则必须维护该过程。