龔海 周國宏
[摘 要]HIS信息系統(tǒng)在醫(yī)院日常工作中發(fā)揮著重要的作用。本文主要分析江蘇省江陰市人民醫(yī)院HIS信息系統(tǒng)升級的背景、方案、方法與步驟,并探討了升級后的實際運行效果及其對醫(yī)院信息系統(tǒng)的重要意義。
[關鍵詞]ORACLE數(shù)據(jù)庫;服務器;優(yōu)化;分庫;數(shù)據(jù)
doi:10.3969/j.issn.1673 - 0194.2018.06.060
[中圖分類號]R197.324 [文獻標識碼]A [文章編號]1673-0194(2018)06-0-02
1 江陰市人民醫(yī)院HIS信息系統(tǒng)升級背景
江陰市人民醫(yī)院HIS信息系統(tǒng)Oracle數(shù)據(jù)庫客戶端的數(shù)量由初期的700個已經增加到1 200個,隨著新住院大樓的即將啟用,客戶端將繼續(xù)增加到1 600個左右。目前,Oracle數(shù)據(jù)庫真實數(shù)據(jù)容量也已增加到98 GB,這就導致了存儲的IO性能出現(xiàn)了大幅的下降(IO的響應時間由10 ms延長到
80 ms),數(shù)據(jù)庫IBM小型機CPU異常繁忙,應用程序處理速度緩慢,嚴重影響了醫(yī)院的正常工作。
2 江陰市人民醫(yī)院HIS信息系統(tǒng)升級方案
筆者在長達3個月的調研、論證過程中,了解到Oracle 10g STREAMS和Oracle 10g DataGuard具有以下的優(yōu)點。
DataGuard的特點:數(shù)據(jù)保護(DataGuard)是ORACLE推出的一種高可用性數(shù)據(jù)庫方案,在主節(jié)點與備用節(jié)點間通過歸檔日志或者LGWR方式來保證數(shù)據(jù)的實時同步。DataGuard能夠實行實時的數(shù)據(jù)同步,備用節(jié)點作為主節(jié)點的備份,可以實現(xiàn)快速切換與災難性恢復。
STREAMS的特點:Oracle Streams能夠傳送和管理數(shù)據(jù)流(在一個數(shù)據(jù)庫中或者從一個數(shù)據(jù)庫到另一個數(shù)據(jù)庫)中的數(shù)據(jù)、事務和事件。與DSG RealSync、Quest shareplex 等其他的HA(數(shù)據(jù)復制)解決方案相比較,STREAMS復制技術完全滿足以下幾點。
①Oracle Streams是一個完全免費的功能(第三方的數(shù)據(jù)同步軟件價格昂貴)。②支持異構平臺,統(tǒng)計數(shù)據(jù)庫服務器可以選用價格較低的PC Server。③環(huán)境中的節(jié)點可以同時對外服務(用于查詢、報表)。④采用STREAMS數(shù)據(jù)復制,數(shù)據(jù)庫的事務特性能得到很好的保持,同時數(shù)據(jù)同步性能良好,實時性也比較好,可以基于多個級別的數(shù)據(jù)復制(數(shù)據(jù)庫、用戶、表等),且相關的維護不是過于復雜。⑤系統(tǒng)本身不會過多地限制應用的可擴展性,對常見ddl的支持不需要quiesce。⑥擺脫了傳統(tǒng)的分布式事務中的兩階段提交(2PC commit),只需要更少的確認就可以完成,極大地減少了網(wǎng)絡的沖突。⑦更小的系統(tǒng)開銷,更少的遞歸調用維護。
與軟件開發(fā)商、集成商、甲骨文公司技術人員反復討論和充分測試后,最終筆者決定使用數(shù)據(jù)庫分庫的方法來減少HIS系統(tǒng)核心庫的數(shù)據(jù)量及負載量。新核心業(yè)務數(shù)據(jù)庫規(guī)劃存放6個月內的數(shù)據(jù),數(shù)據(jù)量適中,提高了存儲的響應速度,提升數(shù)據(jù)庫的性能指標。歷史數(shù)據(jù)庫服務器保存所有的數(shù)據(jù),可用于大數(shù)據(jù)量的查詢、報表統(tǒng)計分析及數(shù)據(jù)挖掘分析。兩個數(shù)據(jù)庫之間通過采用Oracle Streams的近實時復制技術來保障生產數(shù)據(jù)(6~12個月數(shù)據(jù))的一致性。歷史數(shù)據(jù)每半年分離一次,這樣能夠保證核心業(yè)務數(shù)據(jù)庫的性能長期維持在一個較高的水準。
系統(tǒng)拓撲圖,如圖1所示。
從圖1中可以看出,整個系統(tǒng)分為2個區(qū)域:生產中心、災備中心。生產中心包含:核心業(yè)務系統(tǒng)及歷史庫系統(tǒng)。兩個系統(tǒng)之間使用Streams技術進行數(shù)據(jù)復制同步。災備中心包含:核心業(yè)務庫災備系統(tǒng)及歷史庫災備系統(tǒng)。生產中心的系統(tǒng)通過DataGuard技術與這兩個系統(tǒng)保持數(shù)據(jù)同步,用于實現(xiàn)快速切換與災難性恢復。
本次升級體現(xiàn)的三個顯著特點:①分離歷史數(shù)據(jù)降低了核心業(yè)務數(shù)據(jù)庫的數(shù)據(jù)量(96 GB到20 GB),提高了主機、存儲、數(shù)據(jù)庫的性能。
(2)通過Oracle Streams復制技術保證了核心業(yè)務數(shù)據(jù)庫和歷史數(shù)據(jù)庫的數(shù)據(jù)的近實時同步。
(3)遠程容災機房配置Realtime DataGuard,進行數(shù)據(jù)的實時同步。
3 江陰市人民醫(yī)院HIS信息系統(tǒng)升級前的準備
3.1 硬件、軟件環(huán)境準備
首先根據(jù)技術方案搭建主機、存儲平臺,經過長時間的反復測試,確保所有的硬件均能正常工作,工作內容包括以下幾個方面:①主機操作系統(tǒng)、新版本的Oracle數(shù)據(jù)庫軟件的安裝。②數(shù)據(jù)庫安裝所有的關鍵補丁,參數(shù)經過充分調優(yōu)。③各種災難情形測試。
3.2 系統(tǒng)壓力測試
為了升級的安全性,系統(tǒng)的壓力測試必不可少。首先由數(shù)據(jù)庫管理員在新平臺上采用Swing bench等壓力測試軟件模擬大量業(yè)務操作,再由專門的軟件測試人員進行各軟件子系統(tǒng)的功能測試。從一系列的測試結果來看,各軟件模塊在Oracle 10.2.0.4版本上完全能夠正常運行。
4 江陰市人民醫(yī)院HIS信息系統(tǒng)正式遷移
經過前期完整且詳盡的功能測試和壓力測試,最終江陰市人民醫(yī)院僅用了4個小時完成割接,使得生產數(shù)據(jù)庫及時投入運行。
正式升級的步驟:①核心業(yè)務數(shù)據(jù)庫版本升級到10.2.0.4(安裝多個關鍵的數(shù)據(jù)庫補?。?;②歷史數(shù)據(jù)庫安裝64位LINUX(RedHat企業(yè)版);③災備數(shù)據(jù)庫版本升級到10.2.0.4;④完成核心業(yè)務數(shù)據(jù)庫和歷史數(shù)據(jù)庫的Streams配置;⑤對Streams性能進行優(yōu)化;⑥對核心業(yè)務數(shù)據(jù)庫的歷史數(shù)據(jù)進行分離。⑦搭建歷史數(shù)據(jù)庫的災備環(huán)境。⑧完成歷史數(shù)據(jù)庫備份與恢復的配置。⑨對數(shù)據(jù)庫性能進行優(yōu)化(主要為消耗資源SQL語句的優(yōu)化)。
5 江陰市人民醫(yī)院HIS信息系統(tǒng)運行效果
醫(yī)院HIS系統(tǒng)主機、數(shù)據(jù)庫的升級是個龐大且復雜的系統(tǒng)工程,從開始醞釀升級到升級測試再到最后成功上線前后歷時半年,但升級的結果非常令人滿意。①系統(tǒng)運行穩(wěn)定,從未宕機。②性能指標大幅提升。當前客戶端連接數(shù)1 200個,服務器CPU利用率平均維持在30%左右,存儲的IO響應時間也由80 ms減少到8.8 ms。數(shù)據(jù)庫的各項性能指標均很正常??蛻舳顺绦蜻\行流暢,日常業(yè)務無等待。統(tǒng)計報表運行速度大幅提升。
6 結 語
在信息化系統(tǒng)的建設中,如果能夠及時應用當前流行的新技術,就可以使得系統(tǒng)運行得更穩(wěn)定、更高效、更健康。HIS系統(tǒng)的成功升級標志著江陰市人民醫(yī)院的信息化建設邁上了一個新臺階。
主要參考文獻
[1]劉曉輝,李小華,胡占生.HIS服務器及數(shù)據(jù)庫升級前后性能的對比研究[J].醫(yī)療衛(wèi)生裝備,2008(12).