2015-09-23 47 views
0

我需要在两个相同的Oracle数据库之间移动数据。我已经想出了如何使用dblink来实现其中的大部分。这是我的困惑。假设我有表A,它引用DB1中的表B以及DB2中类似的结构。有没有什么办法可以创建数据库链接来在DB1和DB2中的表A之间移动数据,这会自动复制表B中的相关数据以支持参考约束(无需我拼写出来)?如何使用尊重参照完整性约束的Oracle Dblink?

感谢 凯

回答

0

一个简单的方法是复制外键和检查DB2.TableB约束目标表DB1.TableA。

多一点的工作是根据需要创建DB1沿

Create Materialized View TableA as Select * from [email protected];

刷新的线物化视图...你不能做一个快速刷新在远程数据库上,但很少有应用需要真正的实时同步。

+0

我知道这是旧的,但对于任何人通过谷歌像我这样找到这个答案,你当然可以做一个快速刷新一个DBLINK:http://dba.stackexchange.com/questions/122299/oracle- materialized-view-overloads-database/122303#122303 –

+0

@KrisJohnston您可以在链接中添加一个“适用于Oracle版本xxxx”的答案吗? – kevinsky

+1

完成,但我不确定自从在10g开始的所有主要Oracle版本(我已亲自测试过)中都能正常工作以后,它们的相关性如何。如果您实际上拥有9i或更早版本,则升级方式已过期... –