過度使用DBLINK做系統集成會帶來的問題

過度使用DBLINK做系統集成會帶來很多問題,問題主要由以下幾點:

  1. 大量消耗數據庫資源;

本地系統每通過DBLINK鏈接遠端系統一次,都會生成一個本地session,如本地session不退出或者手動釋放,只有通過session超時才能自動釋放,會浪費大量的系統資源

  1. 容易出現數據庫BUG;

大量使用DBLINK,本地系統極易出現ORA-02068、ORA-03113、ORA-02080、ORA-02054、ORA-02050等Oracle錯誤,這種錯誤大部分會影響當前session正在處理的業務

  1. 性能較差;

由於使用DBLINK,本地系統在獲取數據時,每次鏈接都會對遠端數據庫進行一次全表掃描,且所有數據都會傳輸回本地數據庫內,導致性能降低並且嚴重浪費當前系統資源。尤其出現一條sql語句從兩個DBLINK中取數,更被稱之爲“性能殺手”,尤其是OLTP型數據庫

  1. 數據傳輸不穩定,佔用帶寬嚴重,容易產生丟包風險;

DBLINK本身沒有數據存儲、監控等功能,是通過網絡中的數據庫進行傳輸時,如果在傳輸過程中出現數據丟包現象,DBLINK本身不會發現,只用當業務進行完畢才能發現丟包現象,這樣會影響當前正在處理的業務;另外,通過DBLINK查詢的數據會像數據全部傳至本地數據庫進行操作,數據傳輸量很大,佔用帶寬嚴重,可能會導致網絡堵塞

  1. Oracle數據功能受限

DBLINK本身不支持對oracle LOB大對象的操作,在使用PROCDURE時,使用COMMIT等操作時可能會出現錯誤;

  1. 可擴展性較差

如果多系統之間 使用DBLINK進行傳輸,每增加一個系統,都會增加一個或多個DBLINK鏈接或者修改對應的接口程序,如果修改其中一個接口,需要修改所有關聯繫統內的接口程序;

  1. 維護性差、安全性較低

通過DBLINK進行鏈接需要將遠端數據庫用戶名、密碼、IP地址存在本地數據庫,如遠端進行密碼修改、IP地址變更,本地數據庫也需要修改,如果系統較多,每個系統都需要同時修改。切本地數據庫管理員能夠看到遠端數據的密碼、IP地址,對系統安全產生影響。
轉自:http://www.cnblogs.com/quanweiru/p/5577421.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章