吳文俊,周彬,沈黎,蔡敏芳
華中科技大學同濟醫(yī)學院附屬協(xié)和醫(yī)院 計算機管理中心,湖北 武漢 430022
醫(yī)院信息系統(tǒng)Sybase數(shù)據(jù)庫的維護管理
吳文俊,周彬,沈黎,蔡敏芳
華中科技大學同濟醫(yī)學院附屬協(xié)和醫(yī)院 計算機管理中心,湖北 武漢 430022
本文主要介紹了醫(yī)院信息系統(tǒng)中Sybase數(shù)據(jù)庫的日常維護的方法,重點闡述了在Sybase數(shù)據(jù)庫層面的高可用性的使用和日常維護Sybase數(shù)據(jù)庫所需要注意的關鍵環(huán)節(jié),以及實際維護時所遇到的問題、解決方法和經(jīng)驗。這些經(jīng)驗有助于數(shù)據(jù)庫管理員更好地把握Sybase數(shù)據(jù)庫在醫(yī)院信息系統(tǒng)中的維護要點和維護措施。
醫(yī)院信息系統(tǒng);Sybase數(shù)據(jù)庫;數(shù)據(jù)庫維護
醫(yī)院信息系統(tǒng)(HIS)作為醫(yī)院信息化建設的重點工程,已經(jīng)成為醫(yī)院運營的基礎設施和技術支撐,成為醫(yī)院建設與管理的重要組成部分。HIS的有效運用,不僅能夠優(yōu)化醫(yī)院的業(yè)務流程,還能夠整合醫(yī)療資源、降低醫(yī)療成本,進而提高診療質量、改善醫(yī)療服務水平,從而增強醫(yī)院競爭力。
武漢協(xié)和醫(yī)院作為國家衛(wèi)生計生委直屬的大型綜合性醫(yī)院,先后被評為國家首批三甲醫(yī)院、全國百佳醫(yī)院,醫(yī)院的信息化的高速發(fā)展是必不可少的源動力。醫(yī)院自從2002年建立算機管理中心后就設置了專門的系統(tǒng)管理員對HIS進行管理與維護。隨著醫(yī)療設備的不斷發(fā)展以及醫(yī)院規(guī)模的不斷擴張,已經(jīng)由原先的單一院區(qū)發(fā)展為現(xiàn)在多院區(qū)齊飛的大規(guī)模集團化醫(yī)院,網(wǎng)絡客戶端數(shù)量也由最開始的100臺左右發(fā)展到現(xiàn)在的1400臺,這對HIS的管理與維護提出了嚴峻的考驗,如何能讓HIS每天在24 h無故障的安全且高效運行一直是我們極力想要達到的目標。
為了能更好的維護HIS中Sybase數(shù)據(jù)庫(美國Sybase公司研制的一種關系型數(shù)據(jù)庫系統(tǒng)),需要對HIS的特點有一個全面的、科學的認識。正是這些特點才使得HIS中的Sybase數(shù)據(jù)庫的維護難度加大,對系統(tǒng)管理員的要求變高,同時對運行的硬件也提出了更高的要求。下面簡單介紹一下HIS的特點。
1.1 以局域網(wǎng)絡應用為支撐環(huán)境
醫(yī)院網(wǎng)絡是HIS的基礎設施,通過光纖網(wǎng)絡可以連接不同院區(qū),以實現(xiàn)不同院區(qū)之間HIS的數(shù)據(jù)互通。近年來由于移動終端的飛速發(fā)展,各醫(yī)院也在大力發(fā)展醫(yī)院的無線網(wǎng)絡,以實現(xiàn)HIS在患者床邊的操作。
1.2 以數(shù)據(jù)庫應用為核心
HIS每天產(chǎn)生的業(yè)務數(shù)據(jù)大部分都需要長期保存與應用。因此,HIS需要大規(guī)模和高效率的數(shù)據(jù)庫系統(tǒng)作為其核心,以處理數(shù)據(jù)和提供應用服務。目前HIS使用較多的是Oracle數(shù)據(jù)庫、SQL Server數(shù)據(jù)庫、DB2數(shù)據(jù)庫、Sybase數(shù)據(jù)庫以及informix數(shù)據(jù)庫等關系型數(shù)據(jù)庫,這些數(shù)據(jù)庫的維護與監(jiān)控工作是HIS管理與維護的核心,需要每天對其有針對性的記錄,才能在出現(xiàn)問題的時候及時的解決問題。
1.3 采用C/S結構或C/中間件/S結構
C/S這種兩層結構還是目前HIS常用的結構[1]。而C/中間件/S這種三層結構是C/S兩層結構的發(fā)展,分為表示層、功能層和數(shù)據(jù)層,其中表示層提供人機界面,用以數(shù)據(jù)輸入和結果輸出,功能層完成對應用的邏輯處理,而數(shù)據(jù)層作為數(shù)據(jù)庫系統(tǒng)主要負責對數(shù)據(jù)的增、刪、改、查操作。而另一種三層結構是B/S結構,它的表示層以Web方式提供使用,用戶可以使用瀏覽器進行輸入輸出。三層的結構具有更好的開放性、安全性、擴展性和可維護性,目前已經(jīng)逐漸被用戶所接受。
1.4 系統(tǒng)運行的連續(xù)性
HIS是醫(yī)院的業(yè)務操作平臺,需要每天24 h不間斷運行,其連續(xù)性和穩(wěn)定性不僅關系到醫(yī)院的業(yè)務的正常運作,甚至關系到患者的生命安全,HIS的連續(xù)性和穩(wěn)定性與網(wǎng)絡、數(shù)據(jù)庫以及硬件設備和供電都息息相關。因此,所有的關鍵節(jié)點的設備都必須有備用和冗余,重要系統(tǒng)的數(shù)據(jù)庫都必須要按時進行備份,如此才能在發(fā)生故障的時候在最短的時間內得到恢復。有條件最好能建立容災中心,以便在生產(chǎn)環(huán)境發(fā)生嚴重故障時能迅速切換到容災中心,恢復運作,減小損失,以提高HIS運行的連續(xù)性。
1.5 數(shù)據(jù)保密和安全性要求高
HIS的數(shù)據(jù)涉及到患者個人隱私和醫(yī)院業(yè)務機密,有嚴格的保密和安全要求。因此,除了強化系統(tǒng)安全防護能力,防止非法入侵以及數(shù)據(jù)泄露,還必須建立完善的用戶權限制度以及防護監(jiān)控措施,確保病人和醫(yī)院的利益。
HIS數(shù)據(jù)庫具有數(shù)據(jù)的整體共享、長期保存、長期應用和持續(xù)發(fā)展以及標準化應用等特點,所以對數(shù)據(jù)庫的管理與維護必須是嚴苛的。
我院于2014年6月更換了新的HIS服務器、升級Sybase數(shù)據(jù)庫版本和存儲空間,以滿足日益膨脹的數(shù)據(jù)需求。
2.1 我院HIS的基本架構與物理硬件配置
我院HIS采用的是IBM System和X3850 X5系列的機型。CPU為Xeon E7,4顆CPU,每顆有10個Core,內存達到256 GB,2臺服務器安裝Redhat Enterprise Linux 6.4操作系統(tǒng)和Sybase15.7(Sybase最新版本)數(shù)據(jù)庫。2臺服務器分別放置在老門診機房和新門診的新機房,形成雙機備用保護。服務器之間通過核心交換機之間的單模光纖直連進行通信。為了保障數(shù)據(jù)的安全可靠,采用2臺VNX5500機通過EMC的同城雙活技術VPLEX組成異地的雙活統(tǒng)一存儲資源池,每臺VNX5500機都配置了40塊300 GB、15000轉的硬盤,此外還對老門診的HIS服務器增加了EMC的持續(xù)數(shù)據(jù)保護CDP,將要保護的數(shù)據(jù)保存到CDP,即使當HIS發(fā)生邏輯錯誤的時候,也可以從獨立的CDP保護磁盤空間中恢復數(shù)據(jù)。我院HIS的整個系統(tǒng)硬件架構,見圖1。
2.2 我院HIS數(shù)據(jù)庫架構
我院HIS使用的是Sybase 15.7版本的數(shù)據(jù)庫,正式生產(chǎn)庫為svrmz,該數(shù)據(jù)庫為日常HIS使用的業(yè)務庫,所有HIS相關的業(yè)務全部在該數(shù)據(jù)庫上運行,此外還有個鏡像數(shù)據(jù)庫為svrzy,采用的和正式庫完全一致的配置。應用Sybase公司的Replication Server服務的單向復制功能,將正式生產(chǎn)庫上所執(zhí)行的所有操作通過復制隊列通道按順序復制到鏡像數(shù)據(jù)庫中。采用單向復制將正式庫上的數(shù)據(jù)單向復制到鏡像庫的目的是:首先可以作為正式庫的備用數(shù)據(jù)庫,當正式庫出現(xiàn)故障的時候可以切換到鏡像庫上,通過Linux6.4操作系統(tǒng)的HA高可用組件的clusvcadm命令將正式庫數(shù)據(jù)庫服務直接切換到鏡像庫上。這個切換的過程很短;此外,還可以將一些與HIS相關,需要提取HIS的數(shù)據(jù)來處理的外圍系統(tǒng),如醫(yī)院感染信息系統(tǒng)、手術室追溯系統(tǒng)等,全均連接到鏡像庫上,這些應用對實時性要求并不是很高,將其連接到鏡像庫可以緩解正式庫的壓力,同時也可以降低其他應用對正式庫產(chǎn)生影響的概率,更好的保障HIS穩(wěn)定性。
圖1 我院整個HIS的系統(tǒng)硬件架構
武漢協(xié)和醫(yī)院計算機管理中心作為武漢協(xié)和醫(yī)院信息化發(fā)展的主要執(zhí)行者,在醫(yī)院信息化的道路上已經(jīng)經(jīng)歷了十多年的風雨,對HIS有大量的投入與足夠重視,對它的管理與維護積累了一定的經(jīng)驗。其中對服務器和數(shù)據(jù)庫的監(jiān)控與維護尤為重要,主要包括以下幾個方面:
3.1 對服務器和數(shù)據(jù)庫的監(jiān)控
HIS的服務器及其所運行的數(shù)據(jù)庫是我們系統(tǒng)管理員每天都需要關注的。操作系統(tǒng)層面的監(jiān)控,包括CPU的利用率、進程數(shù)、I/O等數(shù)據(jù)。數(shù)據(jù)庫監(jiān)控軟件所監(jiān)控的內容包括無阻塞進程數(shù)據(jù),每天產(chǎn)生的數(shù)據(jù)量等[2]。為此,我們需要制定完善的系統(tǒng)運行狀態(tài)監(jiān)控表,系統(tǒng)管理員每天要按時填寫,記錄HIS的運行狀態(tài)。
每個醫(yī)院的HIS的設計和操作都不盡相同,針對我們醫(yī)院的HIS的服務器、存儲和數(shù)據(jù)庫,需要監(jiān)控的有如下幾個關鍵點,根據(jù)這些關鍵檢查點可以反應Sybase數(shù)據(jù)庫當前的運行情況,幫助系統(tǒng)管理員更好地把握數(shù)據(jù)庫運行狀態(tài),并且及時的處理潛在的問題。
(1)檢查服務器的最大連接數(shù)和在線進程數(shù)。這兩個參數(shù)可以大致反映當前服務器的負載情況,如果連接數(shù)太高可能會導致服務器的宕機。
(2)檢查數(shù)據(jù)庫設備容量、實際大小、日增量和日志大小。這些參數(shù)是數(shù)據(jù)庫的基本信息參數(shù),可以反映數(shù)據(jù)庫的總體情況,是否需要增加數(shù)據(jù)庫設備或者日志設備等[3]。
(3)檢查是否有警告日志文件(alert)。查看alert文件對數(shù)據(jù)庫的監(jiān)控來說十分的重要,它會在第一時間反應數(shù)據(jù)庫的問題,對于有效的預防數(shù)據(jù)庫的故障至關重要。
(4)查看最早進程時間。用isql命令連接到正式庫上,通過查詢最早進程時間可以及時發(fā)現(xiàn)不完整事務,其中對應的spid命令為最早的進程,如果最早的進程開始時間距離當前時間已經(jīng)非常長,如2~3天,則可能該進程有問題,甚至可能導致日志無法截斷。確認該進程后,應該將其終止。
(5)查看數(shù)據(jù)庫同步復制狀態(tài)。單向復制是連接正式庫和鏡像庫的重要通道,需要按時進行監(jiān)控。用isql連接到復制服務器上,需要監(jiān)控的主要有:① 用admin who,sqm來查看復制隊列的事務及其運行情況,通過firstseg.block和lastseg.block比對,來看復制的數(shù)據(jù)塊的情況;② 用admin who,sqt來監(jiān)控隊列傳輸?shù)那闆r,可以看到當前是否有事務在處理以及事務處理的狀態(tài);③ 用admin who_is_down來監(jiān)控rep agent/DSI線程是否正常,異常情況時會顯示哪一個spid被掛起;④ 用admindisk_space來監(jiān)控復制的分區(qū)空間使用情況,默認情況下partition空間使用超過閾值時,系統(tǒng)會將告警信息記錄在日志文件中;⑤ 用admindump_queue來查看有問題模塊的實際處理的事務的語句,可以具體的了解到是什么語句造成問題。
(6)定時查看數(shù)據(jù)庫備份情況。一般備份的工作都會放在計劃任務里面每天定時執(zhí)行,但是還是需要經(jīng)常去查看備份的基本信息,如備份的起始和結束時間以及備份文件的大小,確保完備和增量備份都順利地完成,以免實際使用時出現(xiàn)備份文件不完整的情況[4-5]。
(7)日常需要查看的就是CPU和I/O的使用情況,以及有無阻塞進程。這些是最直觀的可以反映服務器及數(shù)據(jù)庫當前狀態(tài)的信息[6]。Sybase數(shù)據(jù)庫提供了Sybase Centre的數(shù)據(jù)庫圖形界面軟件,可查看到阻塞的進程并將其殺掉[7]。
(8)定期檢查數(shù)據(jù)庫的配置[8]。如使用sp_configure檢查內存分配、存儲過程緩沖、用戶連接數(shù)以及鎖個數(shù)等重要的數(shù)據(jù)庫參數(shù)的設置,減少系統(tǒng)I/O操作,提高數(shù)據(jù)分析和統(tǒng)計能力[9]。隨著系統(tǒng)的使用以及客戶端規(guī)模的改變應適當調整合適的參數(shù)數(shù)值,使數(shù)據(jù)庫運行更流暢。
針對這些在Sybase數(shù)據(jù)庫維護中要經(jīng)常關注的環(huán)節(jié),系統(tǒng)管理員可以更高效的對Sybase數(shù)據(jù)庫進行維護,保障數(shù)據(jù)庫正常運行。
3.2 我院HIS故障處理實例
我院HIS系統(tǒng)雖然有多方面的冗余,可是再完善的系統(tǒng)也無法做到百分之百的穩(wěn)定。本文所介紹的問題為數(shù)據(jù)庫日志容量溢出導致數(shù)據(jù)庫無法進行任何新的操作(因為數(shù)據(jù)庫每做一步操作都需要有日志空間來給它記錄日志)。最終采用在數(shù)據(jù)庫的啟動文件里設置一個trace flag標志,該標志是指在數(shù)據(jù)庫啟動時重新掃描日志段的配額頁,以重新計算空閑的日志空間,而不是使用在啟動時保存的計算值。使用有該標志的啟動腳本重新啟動后數(shù)據(jù)庫恢復。也可以進行查詢操作,將日志空間清空,為數(shù)據(jù)庫使用。
對本次故障的經(jīng)驗總結有如下幾條:
(1)日志的空間大小以及內容對數(shù)據(jù)庫來說至關重要,使用isql直接連接服務器,用命令sp_spaceusedsyslogs來查看日志容量的大小,以確保精確地知道剩余多少日志空間,而不是一味的依賴圖形化界面來監(jiān)控;用master..syslogshold來查看最早進程,發(fā)現(xiàn)不完整事務,如果發(fā)現(xiàn)有駐守時間太久的進程應將其終止[10]。
(2)多關注日志的告警信息,以便更好地把握數(shù)據(jù)庫的狀態(tài),盡早發(fā)現(xiàn)有可能會出問題的環(huán)節(jié)。
(3)圖形化界面雖然直觀,但是有時卻不夠準確,容易導致對問題不能及時發(fā)現(xiàn),更多的時候還是需要用命令來查看一些重要的信息。
綜上所述,針對HIS的特點,提出了HIS數(shù)據(jù)庫的維護方法,并結合我院使用的Sybase數(shù)據(jù)庫的日常維護的關鍵環(huán)節(jié),闡述了數(shù)據(jù)庫在實際生產(chǎn)環(huán)境中維護時需要注意的事項以及應對策略。數(shù)據(jù)庫管理員可以針對這些關鍵環(huán)節(jié),更好地把握數(shù)據(jù)庫的當前性能并預防潛在的數(shù)據(jù)庫問題,以避免造成醫(yī)院的損失[11]。
[1]馮冬青,張新紅,張學偉.數(shù)據(jù)庫的體系結構及在工商管理系統(tǒng)中的應用[J].計算機工程與應用,2003,(24):193-195,217.
[2]梁正友,蘇德富,呂立堅,等.Linux系統(tǒng)下Sybase數(shù)據(jù)庫及管理[J].計算機應用研究,2001,(2):101-103.
[3]王慶幸.實時監(jiān)控SYBASE數(shù)據(jù)庫空間的設計[J].空中交通管理, 2011,(6):41-44.
[4]劉永華.Sybase數(shù)據(jù)庫的備份與恢復[J].計算機系統(tǒng)應用,2002, (6):44-46.
[5]胥永康,岳筱玲,席傳裕.Sybase數(shù)據(jù)庫完整備份技術[J].計算機應用, 2002,22(11):114-115.
[6]徐靜.Sybase數(shù)據(jù)庫優(yōu)化技術和方法[J].數(shù)字技術與應用,2013, (7):132.
[7]駱爽,朱鐵櫻,王鵬飛.Sybase數(shù)據(jù)庫性能優(yōu)化設計與評價指標的分析[J].電腦知識與技術,2010,6(29):8151-8152.
[8]梁正友,蘇德富,趙明,等.Linux系統(tǒng)下Sybase數(shù)據(jù)庫內存配置的優(yōu)化[J].計算機應用,2000,20(12):43-45.
[9]李海濤,李東升,賈守恒.Sybase數(shù)據(jù)庫數(shù)據(jù)統(tǒng)計及分析優(yōu)化[J].電腦與信息技術,2011,19(1):57-59.
[10]姚益靜.Sybase數(shù)據(jù)庫優(yōu)化技術和方法[J].鐵路計算機應用,2008, (4):52-54.
[11]徐杭龍,馬冠穎,戴明浪.我院電子信息存儲系統(tǒng)配置實施分析[J].中國醫(yī)療設備,2014,29(6):47-49.
MaintenanceManagement of Sybase Database in Hospital Information System
WU Wen-jun, ZHOU Bin, SHEN Li, CAIMin-fang
ComputerManagement Center, Wuhan Union Hospital, TongjiMedical College, Huazhong University of Science and Technology, Wuhan Hubei 430022, China
This paper mainlydescribed the approach ofdaily maintenance of the Sybasedatabase in HIS (Hospital Information System), focusing on the high-availability use of thedatabase and the attentionneededkey points indaily maintenance of Sybasedatabase as well as the problemssolutions and experienceduring actual maintenance. These experience could helpdatabase administrators to grasp thekey points and relevant measures in Sybasedatabase maintenance in HIS.
hospital informationsystems;Sybasedatabase;database maintenance
TP311.13
A
10.3969/j.issn.1674-1633.2015.08.025
1674-1633(2015)08-0081-03
2015-04-13
作者郵箱:592838737@qq.com