RAC技術在醫院信息系統中的應用研究
劉曉輝① 姚惠東①
①廣州軍區廣州總醫院信息科,510010,廣州市流花路111號
摘 要 描述了RAC技術在醫院的實施方案,對RAC實施的關鍵技術進行了研究,結果表明,RAC
技術大幅改善了數據庫性能。
關鍵詞 RAC 醫院信息系統 數據庫
醫院信息化的發展已經有10多年的歷史,從初期以收費為主的HIS系統,到現在
已經發展為以電子病歷為基礎的多臨床信息系統整合的綜合性醫院信息系統。目前
的醫院信息系統具有子系統多,數據量大,功能多樣化的特點,在數據的整合上以
數據庫間的整合和數據交流為基礎。在系統的結構上還是以傳統的C/S結構為主。HIS
具有的這些特點,使得HIS數據庫規模不斷擴大,用戶數量不斷增加,對數據庫的可
用性需求變得愈加重要。在眾多的解決方案中,ORACLE數據庫的實時應用集群(RAC)
技術是提高數據庫可用性,保障不斷增長醫院業務需求的非常有效的手段之一。
1 RAC工作原理
實時應用集群(RAC)是oracle9i開始提出的一種數據庫集群方案。在一個集群
數據庫中可以有兩個以上的節點存在,并且要有一個共享的存儲設備,這些設備組
成一個典型的SAN結構,其中任意一個節點的失效不會影響客戶端會話或集群自身的
可用性,直到集群中最后一個節點失效,數據庫才變得不可用。集群中每一個節點
都是一個單獨的實例,有著自己獨立的實例名和SGA區,所有節點訪問同一個存儲在
存儲設備上的物理數據庫,所有節點間的通訊是在集群軟件管理下通過服務器間的
心跳線實現通訊的。在RAC的中的每一個節點上有一個全局緩存服務,用來減少各個
節點間的IO通訊。
圖1 RAC結構
2 RAC實施方案
我院舊的架構已經是SAN結構,在新的RAC架構設計中,服務器與存儲的位置和
連接方式沒有改變,依然是兩節點的SAN結構,只是每臺服務器分別添加了兩條到核
心交換機的私有網絡線路,用于RAC的私有網絡線路(private network),每臺服務
器有兩條出口,一條為主,另一條為冗余,防止因網絡的單點故障造成RAC私有網絡
中斷引起某一節點重啟。
圖2 實際RAC拓撲結構
新架構中私有網卡將通過光纖網絡連接到核心交換機上。私有網絡在實現上采
用IBM 的etherchannel 技術,將兩個網絡接口綁成一個網絡接口,模式是一主一備。
在核心交換機上需要將這些連接私有網絡接口配置在一個VLAN 中,減小廣播影響。
新架構中客戶端的連接串需要重新設置,使客戶端能在服務器出現單點故障時
實現自動透明切換工作,并且在連接數據庫時自動選擇負載低的數據庫,實現負載
均衡。具體配置如下:
dbserver =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST |
|