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