2015-09-23 17 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或更早版本,則升級方式已過期... –