2014-03-05 40 views
3

我們正在PL/SQL中編寫一些接口例程,以通過使用另一個oracle數據庫作爲主機在多個oracle數據庫之間傳輸數據。 (即人力資源 - >主機 - >財經)同義詞或dblink查看

的轉移都發生在db_links 基本

insert into [email protected] select * from [email protected]; 

(其更爲複雜的那麼多個表和轉換等。但這是一般的想法)

我們一直有在這裏討論的是下列哪一項應該做

  1. 參考「[email protected]」無處不在歐T代碼
  2. 創建同義詞(公共或私人) 「create synonym tablename for [email protected]

  3. 創建對象的意見 「create view tablename as select * from [email protected]

是否還有其他選擇嗎? 是否比其他人更好?

注:該dblink的名稱將在每個級別的開發/測試/生產 使DBLINK的「server1」成爲開發主機和測試主機等在測試服務器上開發服務器標準化..

無的表名應該永遠存在於多個服務器上

回答

2

通過爲遠程對象創建同義詞,位置透明度是最簡單的設置。這比在每個SQL中使用遠程地址更容易維護。您如何快速測試其他遠程數據庫中的某些內容?只需重新創建涉及的數據庫鏈接就足以實現這一目標。

其他選項可能是創建快照是本地數據庫中遠程表的物化視圖,但也需要數據庫鏈接。它會以更多的空間爲代價獲得良好的性能。

+0

我不認爲我們擔心現在的表現..我們不期望它是一個問題..但這是至少對一些表的想法。 – ShoeLace