前言:想要寫出一篇引人入勝的文章?我們特意為您整理了醫(yī)院信息系統(tǒng)服務(wù)器及數(shù)據(jù)庫升級范文,希望能給你帶來靈感和參考,敬請閱讀。
摘要:隨著信息技術(shù)的發(fā)展,醫(yī)院信息系統(tǒng)也面臨著不斷更新迭代的過程。本文以我院門診系統(tǒng)升級為例,從系統(tǒng)升級原因、選型到升級過程中如何保持數(shù)據(jù)一致性、程序兼容性都進行了詳盡的描述,對數(shù)據(jù)庫升級過程中需要注意的問題與細節(jié)也進行了一一介紹。
關(guān)鍵詞:門診系統(tǒng);數(shù)據(jù)庫;操作系統(tǒng);SQLSERVER;權(quán)限;升級
1現(xiàn)狀
我院門診系統(tǒng)數(shù)據(jù)庫應(yīng)用由兩臺IBMX3850M2服務(wù)器承載,2008年開始使用,已運行多年。硬件配置為:4個4核IntelXEON處理器,64GB內(nèi)存;操作系統(tǒng)為Windows2003X64系統(tǒng),部署有SP2補??;數(shù)據(jù)庫系統(tǒng)采用基于MSCS上的SQLSERVER2000群集數(shù)據(jù)庫,底層存儲系統(tǒng)采用基于EMCMirror的容災(zāi)系統(tǒng),確保數(shù)據(jù)安全。由于微軟對SQLServer2000和Win2003的支持已結(jié)束,今后不可能有補丁來解決新出現(xiàn)的問題。此外,新的服務(wù)器已不再支持Win2003,以后如果服務(wù)器硬件故障而必須更換,將找不到合適服務(wù)器產(chǎn)品來部署系統(tǒng)[2]。隨著醫(yī)院管理需求的增加和信息化建設(shè)的發(fā)展,醫(yī)院需要建立統(tǒng)一管理平臺對歷年積累的醫(yī)療、科研、管理等數(shù)據(jù)進行運用。而SQLServer2000無法支持大數(shù)據(jù)、數(shù)據(jù)挖掘等技術(shù),因而必須對數(shù)據(jù)庫進行升級。服務(wù)器使用年限近10年,運算性能不足,且運行不穩(wěn)定。為保障信息系統(tǒng)安全穩(wěn)定運行,避免因硬件故障影響臨床業(yè)務(wù),因此,計劃將系統(tǒng)的數(shù)據(jù)庫和操作系統(tǒng)都進行升級[3]。
2升級的選型
系統(tǒng)升級的首要任務(wù)是確認數(shù)據(jù)庫及操作系統(tǒng)需要升級到什么版本。首先,是數(shù)據(jù)庫版本的選擇。SQLServer在其進化史上有幾個成對的版本,包括:SQLServer6.0和SQLServer6.5;SQLServer7.0和SQLServer2000;SQLServer2005和SQLServer2008;SQLServer2012和SQLServer2016。在同一對中的兩個產(chǎn)品在功能上的差別較小,相似度較高。而不同對的產(chǎn)品具有跨越式發(fā)展,功能差異較大。SQLServer2000升到SQLServer2005和SQLServer2008,都需要跨越一個級差,而SQLServer2000升到SQLServer2012則需要跨越2個級差。升級跨越的級差越多,風險也越大,故我們不主張升級到SQLServer2012及以上版本。至于SQLServer2005和SQLServer2008這兩個版本,由于屬于同一進化等級,升到SQLServer2005和升到SQLServer2008,風險大致相當。因此,我們主張數(shù)據(jù)庫升級到SQLServer2008R2企業(yè)版64位版[4]。再次,是操作系統(tǒng)的選型。WindowsServer2008系統(tǒng)已經(jīng)不在新出服務(wù)器的官方支持列表,只能在WindowsServer2012、WindowsServer2016中選型。WindowsServer2016新推出不久,未經(jīng)市場充分考驗,而WindowsServer2012在市場使用多年,重大系統(tǒng)漏洞基本已經(jīng)被發(fā)現(xiàn)并修復,維護人員對其研究較透徹,其提供的功能完全滿足數(shù)據(jù)庫服務(wù)器的要求。最終選擇WindowsServer2012R2數(shù)據(jù)中心版作為數(shù)據(jù)庫服務(wù)器的操作系統(tǒng)[5]。
3升級的過程
SQLServer升級有兩條路線可選,其一是就地(In-Place)升級,其二是并行(side-by-side)升級。就地升級就是在原有服務(wù)器上直接進行SQLServer升級,操作系統(tǒng)不改變。就地升級的自動化程度較高,需要較少的人工干預。然而,就地升級的風險也大,因為直接在生產(chǎn)服務(wù)器上升級,一旦出現(xiàn)問題,無法回退。并行升級就是在另一臺服務(wù)器上將新版操作系統(tǒng)和數(shù)據(jù)庫軟件安裝好后,將數(shù)據(jù)和用戶應(yīng)用由手工遷移到新服務(wù)器。如果新服務(wù)器出現(xiàn)問題,可以停止升級,繼續(xù)用舊服務(wù)器進行生產(chǎn)[6]。由于新、舊服務(wù)器的數(shù)據(jù)庫實例名、Windows機器名和IP地址都不同,故升級完成后,中間件需要更改數(shù)據(jù)庫服務(wù)器的實例名、IP地址等配置信息。微軟提供了一個稱為UpgradeAdvisor(升級勸告器)的快捷程序,用于檢查升級的潛在問題。它檢查100多條規(guī)則,這些規(guī)則分成以下類別:SQLServer、AnalysisServices(分析服務(wù))、ReportingServices(報表服務(wù))、NotificationServices(通告服務(wù))、DataTransformationServices(數(shù)據(jù)傳輸服務(wù))、IntegrationsServices(集成服務(wù))。UpgradeAdvisor可以在舊服務(wù)器本機執(zhí)行,也可以在另一臺服務(wù)器遠程執(zhí)行。我們需根據(jù)UpgradeAdvisor報告的結(jié)果評估升級的復雜度。對其報告的問題,需逐一解決,然后才能升級。
3.1升級的主要障礙
升級后,影響業(yè)務(wù)系統(tǒng)運行的因素主要在Transact-SQL語句不兼容以及性能問題。SQL2000的一些Transact-SQL語句和SQL2008是不兼容的,如果存儲過程使用了這樣的Transact-SQL語句,則須修改相關(guān)存儲過程的代碼。為了保持程序的最大兼容性,經(jīng)多次技術(shù)討論后,確認在本次升級中,數(shù)據(jù)庫的兼容性級別定為90。另一個問題是數(shù)據(jù)庫的性能,有研究[7]表明80%的Transact-SQL語句在SQL2008執(zhí)行比在SQL2000快,但有10%的Transact-SQL語句在SQL2008執(zhí)行比在SQL2000慢,因此,總體上業(yè)務(wù)系統(tǒng)在新服務(wù)器上運行的性能應(yīng)當高于舊服務(wù)器,但仍存在性能不佳的可能性。因此,新服務(wù)器的硬件配置應(yīng)當高于舊服務(wù)器。
3.2升級的準備和測試
雖然UpgradeAdvisor程序可為數(shù)據(jù)庫升級提供詳細的評估,但對新服務(wù)器的測試仍是非常關(guān)鍵的。在正式升級前,先在虛擬機平臺建立一個新的數(shù)據(jù)庫服務(wù)器VM,然后按擬定的升級步驟將數(shù)據(jù)庫遷移到測試VM。由于我們采用的是并行(side-by-side)升級方式,新服務(wù)器的機器名、數(shù)據(jù)庫實例名、IP地址都與原服務(wù)器不同,故測試過程不影響生產(chǎn)。我們還需建立一個中間件服務(wù)器VM(由現(xiàn)有的物理服務(wù)器轉(zhuǎn)換成虛擬機),然后用終端連接中間件服務(wù)器來測試,這樣可以模擬真實的業(yè)務(wù)系統(tǒng)運作。終端也可采用虛擬機。測試過程需要將業(yè)務(wù)系統(tǒng)的功能都走遍[8]。
3.3第三方系統(tǒng)測試及配合修改
數(shù)據(jù)庫升級的另一個重要影響是第三方程序的接口兼容性。為了保證數(shù)據(jù)庫升級后,系統(tǒng)能平穩(wěn)運行,在升級前識別出所有與門診系統(tǒng)數(shù)據(jù)庫有數(shù)據(jù)交互的第三方系統(tǒng),要求所有第三方系統(tǒng)在新部署的門診系統(tǒng)數(shù)據(jù)庫服務(wù)器上進行連接測試。共識別出手麻系統(tǒng)、重癥系統(tǒng)、發(fā)藥機系統(tǒng)、病人管理系統(tǒng)、標本管理系統(tǒng)、收費監(jiān)控系統(tǒng)、檢驗系統(tǒng)、叫號系統(tǒng)等18個系統(tǒng),在2周時間內(nèi),所有第三方系統(tǒng)均在新建的數(shù)據(jù)庫環(huán)境中進行了測試,對不兼容的SQL語句或存儲過程進行了修改。
3.4用戶及權(quán)限配置
本次升級只是升級門診系統(tǒng)數(shù)據(jù)庫,門診系統(tǒng)本身不升級,所以升級后數(shù)據(jù)庫的用戶、權(quán)限、安全設(shè)置、鏈接服務(wù)器等信息必須與升級前一致,否則將導致系統(tǒng)功能的錯誤。數(shù)據(jù)庫升級前,安排專人梳理所有用戶,為避免遺漏,將用戶及對應(yīng)的權(quán)限截屏。升級后再一一進行對照檢查,確保升級后的用戶權(quán)限正確。遷移用戶時,使用sp_help_revlogin命令,將SQLSERVER2000數(shù)據(jù)庫中的所有用戶導出,在新建的SQLSERVER2008R2數(shù)據(jù)庫中導入。
3.5數(shù)據(jù)遷移
在正式遷移前2天,在舊數(shù)據(jù)庫服務(wù)器中將數(shù)據(jù)庫進行一次完整備份,然后停止數(shù)據(jù)庫備份作業(yè),開啟數(shù)據(jù)庫日志備份。將數(shù)據(jù)庫完整備案拷貝到新服務(wù)器上還原為NORECOVERY模式。還原后使用updateusage命令升級數(shù)據(jù)庫文件到SQLSERVER2008R2。在遷移當天0:00,禁用舊數(shù)據(jù)庫的所有用戶,關(guān)閉舊數(shù)據(jù)庫的所有連接,備份一次日志,然后將完整備份后兩天的所有日志拷貝到新服務(wù)器上進行還原。還原后舊服務(wù)器關(guān)機,新服務(wù)器更改服務(wù)器名、IP、群集名與舊服務(wù)器一致,然后導入數(shù)據(jù)庫作業(yè)。重啟服務(wù)器后,使用客戶端進行測試,程序運行正常。
4升級結(jié)果
數(shù)據(jù)庫升級后,經(jīng)過測試,數(shù)據(jù)查詢性能得到了極大提升。例如全表查詢速度:升級前查詢門診檢驗結(jié)果數(shù)據(jù)301,930,630條數(shù)據(jù)需時22s,升級后需時2s。升級前查詢門診病歷數(shù)據(jù)24,900,304條數(shù)據(jù),升級前需時18s,升級后僅需0.8s。本次數(shù)據(jù)庫升級極大的提高了我院門診系統(tǒng)運行的穩(wěn)定性,解決了以前系統(tǒng)進行全表查詢時常會導致死鎖,影響門診業(yè)務(wù)的問題。同時也提升了門診系統(tǒng)運行速度,間接提高了患者的就診滿意度,達到了項目的預期目標。
5結(jié)語
系統(tǒng)數(shù)據(jù)庫升級最重要的是保障升級前后數(shù)據(jù)的一致性,以及系統(tǒng)的可用性。在本次升級中,首先是規(guī)劃好升級的路線,處理程序的兼容性,然后做了充分的測試,保障了語句的變化不影響門診系統(tǒng)運行。本文詳述了門診系統(tǒng)數(shù)據(jù)庫升級過程中考慮的各種問題以及解決方案,記錄了升級的詳細步驟,希望對同行在處理相同問題時,起到一定的啟發(fā)作用。
參考文獻
1梁昌明,袁功智,秦占偉,等.Oracle數(shù)據(jù)庫升級或遷移的方法探討[J].醫(yī)療衛(wèi)生裝備,2008,29(1):35-37.
2周容容,紀亞亮.數(shù)據(jù)庫及服務(wù)器操作系統(tǒng)升級[J].醫(yī)療衛(wèi)生裝備,2013,34(4):42-43.
3吉亞力,胡呈煒,張輝.HIS服務(wù)器及數(shù)據(jù)庫升級的實現(xiàn)[J].醫(yī)療衛(wèi)生裝備,2011,32(5):50-51.
4李世川.信息系統(tǒng)數(shù)據(jù)庫升級方法研究及實現(xiàn)[J].醫(yī)療衛(wèi)生裝備,2012,33(1):51-52.
5吳新躍.進度管理在醫(yī)院信息系統(tǒng)升級項目中的應(yīng)用[J].醫(yī)學信息學雜志,2013,34(6):35-38.
6錢崇強,解春生.醫(yī)院信息系統(tǒng)升級風險管理[J].中國醫(yī)院,2011,15(1):62-64.
7馬嘉潛,李超峰,鄧曉焱,等.醫(yī)院信息系統(tǒng)升級方案與實現(xiàn)[J].醫(yī)學信息學雜志,2016,37(9):25-28.
8馬大民.試論計算機數(shù)據(jù)庫的技術(shù)分析及其升級與維護[J].軟件:電子版,2016(12):264.
作者:潘天祥 張芳健 單位:廣東省人民醫(yī)院