顧學(xué)賽 王梓名
摘 ?要:隨著醫(yī)院業(yè)務(wù)量的迅速增加以及新院區(qū)數(shù)據(jù)中心硬件設(shè)施的建成,原有數(shù)據(jù)中心整體遷移到新院區(qū)勢在必行,Oracle作為目前最常用的商用數(shù)據(jù)庫管理系統(tǒng),有多種數(shù)據(jù)遷移技術(shù)方法,其中DataGuard技術(shù),能在保證數(shù)據(jù)安全性的前提下,縮短遷移時間,完成業(yè)務(wù)系統(tǒng)的災(zāi)備建設(shè),本文介紹四川大學(xué)華西第二醫(yī)院數(shù)據(jù)中心由老院區(qū)整體遷移到新院區(qū)的相關(guān)經(jīng)驗,探討Oracle的DataGuard技術(shù)在醫(yī)院數(shù)據(jù)遷移中的應(yīng)用。
關(guān)鍵詞:Oracle;Dataguard;數(shù)據(jù)遷移
中圖分類號:TP309.3;TP399-C8 ? ? 文獻(xiàn)標(biāo)識碼:A 文章編號:2096-4706(2019)13-0162-03
Application of Oracle Data Guard Technology in Hospital Data Migration
GU Xuesai,WANG Ziming
(West China Second University Hospital,Sichuan University,Chengdu ?610041,China)
Abstract:With the rapid development of hospital business and the construction of hardware facilities of data center in new hospital area,it is imperative for the original data center to migrate to the new hospital area as a whole. As the most commonly used commercial database management system,Oracle has a variety of data migration technologies and methods. Among them,DataGuard technology can shorten the migration time and complete business on the premise of ensuring data security. This paper introduces the experience of the data center of West China Second Hospital of Sichuan University migrating from the old hospital to the new hospital,and discusses the application of Oracle’s DataGuard technology in hospital data migration.
Keywords:Oracle;Dataguard;data migration
0 ?引 ?言
隨著醫(yī)院的發(fā)展和新院區(qū)的成立,原有的數(shù)據(jù)中心機房基礎(chǔ)設(shè)施方面空間有限,機房已經(jīng)接近最大承載量,舊的服務(wù)器、存儲等設(shè)備老化,性能不足,存在較多風(fēng)險點[1,2],無法同時承載兩個院區(qū)的業(yè)務(wù),也無法支持更多的外聯(lián)業(yè)務(wù),如醫(yī)聯(lián)體、互聯(lián)網(wǎng)醫(yī)院等,現(xiàn)有的核心業(yè)務(wù)系統(tǒng)不管在硬件還是軟件方面都越來越難以支撐日益增長的業(yè)務(wù)量和數(shù)據(jù)流,因此新的數(shù)據(jù)中心建設(shè)和數(shù)據(jù)遷移工作勢在必行[3]?;谝陨锨闆r,在新院區(qū)數(shù)據(jù)中心建設(shè)之初,就考慮到未來5至8年的使用規(guī)劃,新數(shù)據(jù)中心投入使用前,如何實現(xiàn)數(shù)據(jù)的遷移和業(yè)務(wù)系統(tǒng)的平穩(wěn)過渡將是一個很大的挑戰(zhàn),本文主要介紹醫(yī)院數(shù)據(jù)遷移相關(guān)經(jīng)驗,探討Oracle的DG技術(shù)在醫(yī)院數(shù)據(jù)遷移中的應(yīng)用。
1 ?項目背景及確定方案
隨著醫(yī)院的發(fā)展,現(xiàn)有的信息系統(tǒng)積累了海量的歷史數(shù)據(jù),新院區(qū)數(shù)據(jù)中心的建立,將業(yè)務(wù)系統(tǒng)如何平穩(wěn)過渡的問題提上日程。目前醫(yī)院7*24小時的核心業(yè)務(wù)系統(tǒng)LIS和PACS使用了Oracle數(shù)據(jù)庫,在數(shù)據(jù)遷移規(guī)劃中,不可避免需要中斷數(shù)據(jù)庫業(yè)務(wù),醫(yī)院的特殊性要求盡量把業(yè)務(wù)中斷時間縮至最短[4],這就對我們把數(shù)據(jù)遷移至新院區(qū)數(shù)據(jù)中心提出了更高的要求。
最初擬定了兩種數(shù)據(jù)遷移方案,一是提前做數(shù)據(jù)庫的rm全備,通過兩個院區(qū)中間的千兆專線,把全備拷貝至數(shù)據(jù)中心的新環(huán)境中,然后恢復(fù)全備,再使用增備來追平數(shù)據(jù)。這種方案操作簡便,對系統(tǒng)架構(gòu)要求不高,但是業(yè)務(wù)中斷時間比較長,初步評估業(yè)務(wù)中斷要1個小時以上。二是利用我們現(xiàn)有的Oracle集群(RAC)搭建DataGuard環(huán)境,將當(dāng)前業(yè)務(wù)系統(tǒng)作為Primary Database,新院區(qū)數(shù)據(jù)中心數(shù)據(jù)庫作為Standby Database,兩邊通過網(wǎng)絡(luò)傳遞聯(lián)機日志和歸檔日志,來實現(xiàn)數(shù)據(jù)同步。這種方案業(yè)務(wù)系統(tǒng)中斷時間短,通過兩個庫的角色互換,即刻完成數(shù)據(jù)遷移,評估業(yè)務(wù)中斷時間可控制在半個小時以內(nèi),而且不容易造成數(shù)據(jù)丟失,遷移完成后,原有的舊設(shè)備可以直接轉(zhuǎn)為災(zāi)備設(shè)備,提高老舊設(shè)備的利用率,同時完成異地災(zāi)備建設(shè)。缺點是系統(tǒng)架構(gòu)復(fù)雜,操作難度大,需要經(jīng)過多次測試和驗證。
考慮到需要將對醫(yī)院醫(yī)療業(yè)務(wù)的影響降至最低,技術(shù)方面的復(fù)雜性問題,可以通過多次演練測試、固化每次操作步驟解決,而且可以最大程度地保證系統(tǒng)的穩(wěn)定性、數(shù)據(jù)庫的安全性和數(shù)據(jù)的一致性等,醫(yī)院最終選擇了第二套方案。
2 ?Oracle的DG技術(shù)用于數(shù)據(jù)遷移的設(shè)計和實現(xiàn)
DataGuard是一種數(shù)據(jù)庫級別的高可用方案,最主要功能是容災(zāi)、數(shù)據(jù)保護(hù)、故障恢復(fù)等[5],它是在主節(jié)點與備用節(jié)點間通過日志同步來保證數(shù)據(jù)同步,可以實現(xiàn)數(shù)據(jù)庫快速切換與災(zāi)難恢復(fù)[6]。涉及到Oracle數(shù)據(jù)庫的系統(tǒng)數(shù)據(jù)遷移都使用了同樣的技術(shù),本文以LIS系統(tǒng)來講解操作方案。
2.1 ?前期準(zhǔn)備。
老院區(qū)的LIS系統(tǒng)搭在Linux平臺Oracle 11g的RAC環(huán)境下,版本11.3.0.2,是兩臺x86服務(wù)器,兩個院區(qū)之前通過千兆光纖專線連通,新院區(qū)數(shù)據(jù)中心采用新采購的4路機架式服務(wù)器兩臺,作為Oracle集群節(jié)點服務(wù)器。遷移之前在新院區(qū)數(shù)據(jù)中心搭建同樣的數(shù)據(jù)庫環(huán)境,配置相同的IP地址,在兩個集群之間通過DG專用的Vlan實現(xiàn)日志同步。
由于新老院區(qū)數(shù)據(jù)中心內(nèi)部應(yīng)用系統(tǒng)均使用相同IP地址,為了防止出現(xiàn)數(shù)據(jù)穿透,需要在網(wǎng)絡(luò)上進(jìn)行策略限制,保證新院區(qū)只能通過部分網(wǎng)段的Vlan訪問老院區(qū),老院區(qū)終端無法訪問新院區(qū)數(shù)據(jù)庫。
為進(jìn)一步加強數(shù)據(jù)安全保障,在做DG同步前,基于存儲的rm全備和增備做了快照,同時又創(chuàng)建多個數(shù)據(jù)還原點。為了防止遷移當(dāng)天服務(wù)器存儲網(wǎng)絡(luò)等突發(fā)故障,遷移前一周安排了硬件的每日巡檢,同時密切關(guān)注Oracle數(shù)據(jù)庫狀態(tài),分析AWR日志,每天安排Oracle健康檢查,現(xiàn)場除了遷移的具體指揮和操作人員,安排了技術(shù)力量強大的團隊來應(yīng)對突發(fā)情況,并對數(shù)據(jù)遷移回退方案也進(jìn)行了一次模擬演練。
2.2 ?遷移演練
在正式遷移前,準(zhǔn)備至少3次模擬演練,來確保正式遷移的平滑過渡,同時準(zhǔn)備回退方案,保證數(shù)據(jù)的安全。因為新院區(qū)數(shù)據(jù)中心在演練前準(zhǔn)備了和生產(chǎn)環(huán)境相同的網(wǎng)絡(luò)環(huán)境,為了防止出現(xiàn)數(shù)據(jù)穿透,真實操作只在新院區(qū)環(huán)境中進(jìn)行演練,不做停止、變更當(dāng)前生產(chǎn)環(huán)境的任何操作。
具體演練流程如下:
(1)準(zhǔn)備操作工位、網(wǎng)絡(luò)和終端,打印切換流程圖和分時計劃。
(2)各操作相關(guān)人員依據(jù)執(zhí)行步驟,按照指揮人員的指示進(jìn)行切換演練操作,及時反饋完成的狀態(tài),指揮人員在切換流程圖上進(jìn)行狀態(tài)更新。
(3)演練總結(jié),相關(guān)人員匯報演練過程中遇到的問題,并且進(jìn)行相應(yīng)的整改,對一些流程進(jìn)行優(yōu)化調(diào)整。
演練過程中,及時記錄發(fā)現(xiàn)的問題以及各個操作的時間節(jié)點,通過不斷的總結(jié)和討論,消除各種不利因素,通過PDCA循環(huán),保證每次演練效果更好。第三次演練時,重要步驟操作時間誤差可有效地控制在兩分鐘之內(nèi)。通過充分演練,解決了遷移過程中的問題,對可能出現(xiàn)的突發(fā)情況制定了詳細(xì)的應(yīng)對措施,為正式遷移打好了堅實的基礎(chǔ)。
2.3 ?正式遷移
醫(yī)院信息系統(tǒng)遷移涉及多個業(yè)務(wù)系統(tǒng),使用Oracle的DG遷移的系統(tǒng)只是其中一部分,系統(tǒng)整體遷移流程如圖1所示。
遷移之前老院區(qū)數(shù)據(jù)庫在DG中的角色為Primary Database,在新院區(qū)將基礎(chǔ)環(huán)境搭建好后,通過Oracle的rm恢復(fù)還原數(shù)據(jù)庫,將新院區(qū)的數(shù)據(jù)庫作為Standby Database,Standby數(shù)據(jù)庫是Primary數(shù)據(jù)庫的復(fù)制,業(yè)務(wù)上是一致的。一旦搭建完成,DG通過應(yīng)用Primary數(shù)據(jù)庫的Redo自動維護(hù)Standby數(shù)據(jù)庫,同步數(shù)據(jù)過程中也不會占用過高的網(wǎng)絡(luò)帶寬資源,即使是主庫業(yè)務(wù)高峰期,對其影響也非常小,因此能夠保證遷移前生產(chǎn)庫的安全穩(wěn)定。選擇業(yè)務(wù)低峰期的時候進(jìn)行數(shù)據(jù)遷移,盡量把停機對業(yè)務(wù)造成的影響降到最低,可以將實際上的遷移過程理解為Primary Database和Standby Database的角色互換。在最大保護(hù)模式或最高可用模式下,F(xiàn)ailover可以保障數(shù)據(jù)無丟失。具體遷移步驟如下:
(1)遷移前需要認(rèn)真檢查主備數(shù)據(jù)庫運行狀態(tài),檢查數(shù)據(jù)庫同步情況,確認(rèn)主庫日志序列和備庫Standby日志序列號一致。
(2)修改老院區(qū)主庫歸檔路徑為同步模式,同時對數(shù)據(jù)進(jìn)行標(biāo)記,主要用于遷移后兩邊數(shù)據(jù)的一致性比對,確保數(shù)據(jù)無丟失。
(3)創(chuàng)建數(shù)據(jù)還原點,用于遷移的回退方案,防止遷移過程中出現(xiàn)故障造成數(shù)據(jù)丟失。
(4)Failover:在數(shù)據(jù)遷移過程中通過模擬老院區(qū)主庫,即Primary數(shù)據(jù)庫出現(xiàn)故障,調(diào)用Failover將Standby數(shù)據(jù)庫轉(zhuǎn)換為新的Primary數(shù)據(jù)庫。
(5)重新啟動數(shù)據(jù)庫,然后進(jìn)行業(yè)務(wù)數(shù)據(jù)驗證核對。
3 ?問題與討論
在歷經(jīng)6個月準(zhǔn)備和3次演練后,本次數(shù)據(jù)中心整體遷移獲得圓滿的成功,為新院區(qū)整體業(yè)務(wù)開展提供了強有力的支持,筆者認(rèn)為成功的關(guān)鍵因素在于以下幾個方面:首先,前期做了充足準(zhǔn)備,如項目立項、系統(tǒng)調(diào)研、硬件設(shè)施準(zhǔn)備、遷移測試演練等,如果沒有做好系統(tǒng)全功能測試、連通性測試、壓力測試等,會直接影響遷移后系統(tǒng)使用的穩(wěn)定性;其次,選對時間節(jié)點,我們選擇醫(yī)院業(yè)務(wù)最低峰的時段00:00-03:00,盡可能地降低對業(yè)務(wù)造成的影響;最后,現(xiàn)場人員指揮和操作,有完整的指揮組織架構(gòu)[7],同時明確每個人的職責(zé),關(guān)鍵操作人都有指定的操作工位和電腦,服務(wù)器的登錄都是通過堡壘機,每一步操作都能記錄,防止出現(xiàn)誤操作以及應(yīng)急情況原因核查。但是在遷移過程中我們依然發(fā)現(xiàn)不盡完善的地方,比如在現(xiàn)有的條件下為了保證醫(yī)療業(yè)務(wù)進(jìn)行,防止出現(xiàn)數(shù)據(jù)穿透,無法對新老院區(qū)數(shù)據(jù)中心的網(wǎng)絡(luò)切換進(jìn)行模擬演練,網(wǎng)絡(luò)切換的操作都是一次性完成的,存在較大的風(fēng)險。
數(shù)據(jù)中心整體遷移,需要在前期做充足準(zhǔn)備,特別要做好技術(shù)驗證和測試,針對服務(wù)器、存儲、網(wǎng)絡(luò)等可能出現(xiàn)的故障都要有相應(yīng)的應(yīng)急處理方案。通過3次桌面演練可以把切換操作的每個步驟精確到分鐘,這樣業(yè)務(wù)中斷時間就能控制在非常小的范圍內(nèi)。正式切換時選擇在業(yè)務(wù)低峰期即凌晨進(jìn)行,數(shù)據(jù)量本身很小,通過DG數(shù)據(jù)同步就不會花太多時間,中斷時間在可接受范圍之內(nèi),因此可以將對醫(yī)療業(yè)務(wù)的影響降到最小。遷移完成后,老院區(qū)舊的系統(tǒng)架構(gòu)承載數(shù)據(jù)庫的Standby Database功能,實時同步新院區(qū)主庫產(chǎn)生的數(shù)據(jù),這樣就完成了業(yè)務(wù)系統(tǒng)的異地災(zāi)備建設(shè)和設(shè)備的利舊,實現(xiàn)機房資源的節(jié)約。
4 ?結(jié) ?論
醫(yī)院業(yè)務(wù)量的迅速發(fā)展以及監(jiān)管要求的提高,對支撐業(yè)務(wù)系統(tǒng)IT系統(tǒng)容量和體系架構(gòu)的要求達(dá)到一個新的高度,在此次遷移同時進(jìn)行優(yōu)化調(diào)整,即可滿足當(dāng)前業(yè)務(wù)需求,同時又需要為未來發(fā)展打下良好的基礎(chǔ)。信息化時代,醫(yī)療業(yè)務(wù)對信息系統(tǒng)依賴越來越嚴(yán)重,醫(yī)院作為一個特殊的機構(gòu),需要穩(wěn)定可靠的系統(tǒng),因此要求數(shù)據(jù)遷移和系統(tǒng)停機時間盡可能短,針對Oracle數(shù)據(jù)庫的遷移,采用Oracle的DataGuard這種比較成熟的技術(shù),在保證數(shù)據(jù)安全性的前提下,能大大縮短遷移時間,完成業(yè)務(wù)系統(tǒng)的災(zāi)備建設(shè),是醫(yī)院在系統(tǒng)升級或數(shù)據(jù)遷移中一種穩(wěn)定高效的選擇方案。
參考文獻(xiàn):
[1] 陳青,熊曉峰.基于大數(shù)據(jù)的醫(yī)院數(shù)據(jù)中心建設(shè)思考 [J].科技資訊,2016,14(20):8+10.
[2] 查曉陽.論數(shù)字化醫(yī)院信息系統(tǒng)的安全問題 [J].信息通信,2019(2):78-80.
[3] 李強.醫(yī)院信息系統(tǒng)數(shù)據(jù)遷移設(shè)計與實現(xiàn) [J].福建電腦,2016,32(9):110+121.
[4] 賈強.醫(yī)院數(shù)據(jù)遷移項目風(fēng)險機制探析 [J].醫(yī)學(xué)信息學(xué)雜志,2013,34(8):46-48.
[5] 陳意.基于Dataguard技術(shù)的數(shù)據(jù)容災(zāi)實現(xiàn)方式 [A].天津市電子學(xué)會、天津市儀器儀表學(xué)會.第三十二屆中國(天津)2018’IT、網(wǎng)絡(luò)、信息技術(shù)、電子、儀器儀表創(chuàng)新學(xué)術(shù)會議論文集 [C].天津:天津市電子學(xué)會、天津市儀器儀表學(xué)會:天津市電子學(xué)會,2018:68-70.
[6] 劉玥.基于Oracle DataGuard技術(shù)的CNMS災(zāi)備系統(tǒng)設(shè)計與實現(xiàn) [D].成都電子科技大學(xué),2017.
[7] 王梓名,張怡琳.數(shù)據(jù)遷移在醫(yī)院多院區(qū)建設(shè)中的實踐 [J].科技風(fēng),2018(31):80.
作者簡介:顧學(xué)賽(1988-),男,漢族,江蘇徐州人,初級工程師,本科,研究方向:數(shù)據(jù)庫、醫(yī)院信息管理;通訊作者:王梓名(1987-),男,漢族,四川成都人,中級工程師,碩士研究生,研究方向:云計算、醫(yī)院信息管理、網(wǎng)絡(luò)安全。