在adhoc的基础上,我们希望将4个Oracle生产表中的内容复制到QA / UAT环境中。 这不是直接复制,我们需要根据某些输入条件复制数据进行过滤。
之前我们使用的是Sybase数据库,因此BCP实用程序在那里工作。但是,我们最近迁移到Oracle并需要类似的数据复制要求。
根据迄今为止的分析,我已经分析了以下选项 -
有人可以告诉我们哪种方式应该是最好的方法。
答案 0 :(得分:2)
我可能会使用DATAPUMP格式的外部表。所以它会像
create table my_ext_tab
organization external
(
type oracle_datapump
default directory UNLOAD
location( 'my_ext_tab.dmp' )
)
as
<my query>
然后,您可以将文件复制到其他数据库,创建外部表,然后通过插入插入到新表中,例如:
insert /*+ APPEND */ into my_tab
select * from my_ext_tab
您还可以使用并行性来读取和写入文件
答案 1 :(得分:1)
考虑到所有约束,看起来数据库链接是最佳选择。您可以使用PROD环境中的联接和过滤器为查询创建视图,并通过数据库链接从这些视图中进行选择。这样,过滤在通过网络传输之前完成,而不是在目标端之后完成。