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