數(shù)據(jù)庫(kù)災(zāi)備系統(tǒng)包括:備份系統(tǒng)和容災(zāi)系統(tǒng)。兩者實(shí)現(xiàn)原理和承擔(dān)的作用是不同的。備份記錄的是數(shù)據(jù)庫(kù)一段時(shí)間的變化,用于恢復(fù)數(shù)據(jù)庫(kù)到過(guò)去的某一個(gè)時(shí)間點(diǎn)時(shí)的狀態(tài),應(yīng)對(duì)的場(chǎng)景主要是由于誤刪除、測(cè)試開發(fā)等原因需要把數(shù)據(jù)庫(kù)恢復(fù)到某一個(gè)時(shí)間點(diǎn)的情況。容災(zāi)系統(tǒng)對(duì)應(yīng)的是生產(chǎn)系統(tǒng)的實(shí)時(shí)或者準(zhǔn)實(shí)時(shí)映像,應(yīng)對(duì)的場(chǎng)景是在生產(chǎn)系統(tǒng)崩潰時(shí)及時(shí)把應(yīng)用切換到容災(zāi)系統(tǒng)上,確保生產(chǎn)系統(tǒng)的持續(xù)運(yùn)行。
俗話說(shuō):“養(yǎng)兵千日,用兵一時(shí)”,為了確保在關(guān)鍵時(shí)刻能夠用備份系統(tǒng)或容災(zāi)系統(tǒng)快速恢復(fù)生產(chǎn)數(shù)據(jù)庫(kù)的正常運(yùn)行,平時(shí)必須做好足夠的演練。所以,在進(jìn)行數(shù)據(jù)庫(kù)備份和容災(zāi)系統(tǒng)建設(shè)時(shí),建設(shè)方都會(huì)為生產(chǎn)數(shù)據(jù)庫(kù)系統(tǒng)建設(shè)一個(gè)數(shù)據(jù)庫(kù)恢復(fù)測(cè)試環(huán)境。而數(shù)據(jù)庫(kù)管理員日常的一個(gè)重要工作就是維護(hù)測(cè)試環(huán)境,并定期做數(shù)據(jù)庫(kù)恢復(fù)測(cè)試和容災(zāi)數(shù)據(jù)庫(kù)切換測(cè)試。測(cè)試系統(tǒng)維護(hù)工作主要有以下內(nèi)容:檢查災(zāi)備測(cè)試環(huán)境的存儲(chǔ)是否足夠,用于進(jìn)行數(shù)據(jù)庫(kù)災(zāi)備測(cè)試的環(huán)境不可能與生產(chǎn)環(huán)境一樣,其CPU處理能力和內(nèi)存可能會(huì)比生產(chǎn)系統(tǒng)要少,但其存儲(chǔ)系統(tǒng)的大小一定不能低于生產(chǎn)數(shù)據(jù)庫(kù)的數(shù)據(jù)文件的大?。粰z查操作系統(tǒng)版本是否滿足要求,盡量保證測(cè)試環(huán)境的操作系統(tǒng)版本與生產(chǎn)環(huán)境一樣,因?yàn)檫@樣才能盡可能真實(shí)地模擬在真正的生產(chǎn)環(huán)境中做數(shù)據(jù)庫(kù)恢復(fù)時(shí)可能會(huì)遇到各種問(wèn)題;檢查數(shù)據(jù)庫(kù)軟件版本是否滿足要求,要保證測(cè)試環(huán)境的數(shù)據(jù)庫(kù)軟件版本與生產(chǎn)環(huán)境一樣, 包括補(bǔ)丁程序;檢查測(cè)試環(huán)境的日志中是否有報(bào)錯(cuò)信息,重點(diǎn)檢查操作系統(tǒng)和存儲(chǔ)系統(tǒng)的管理日志中是否有報(bào)錯(cuò)信息,如果有應(yīng)該及時(shí)處理。
數(shù)據(jù)庫(kù)備份恢復(fù)演練的最終目的是確保在將來(lái)的某個(gè)時(shí)刻,如果要進(jìn)行數(shù)據(jù)庫(kù)恢復(fù)操作時(shí),能夠快速、準(zhǔn)確地在規(guī)定時(shí)間內(nèi)恢復(fù)整個(gè)生產(chǎn)數(shù)據(jù)庫(kù)。要不斷通過(guò)針對(duì)各種數(shù)據(jù)庫(kù)故障的恢復(fù)演練來(lái)完善數(shù)據(jù)庫(kù)恢復(fù)方案。數(shù)據(jù)庫(kù)備份恢復(fù)演練通常包括以下內(nèi)容:恢復(fù)整個(gè)數(shù)據(jù)庫(kù),這個(gè)部分是用來(lái)檢驗(yàn)整個(gè)生產(chǎn)數(shù)據(jù)庫(kù)發(fā)生不可修復(fù)的故障后,是否能夠利用數(shù)據(jù)庫(kù)備份系統(tǒng)進(jìn)行恢復(fù);恢復(fù)部分?jǐn)?shù)據(jù)文件,并且打開數(shù)據(jù)庫(kù),這個(gè)部分主要是用來(lái)應(yīng)對(duì)部分?jǐn)?shù)據(jù)文件受到損壞,僅僅需要在生產(chǎn)數(shù)據(jù)庫(kù)上恢復(fù)部分?jǐn)?shù)據(jù)文件的情景;將數(shù)據(jù)庫(kù)恢復(fù)到過(guò)去的某個(gè)歷史時(shí)刻,然后打開數(shù)據(jù)庫(kù),這個(gè)部分主要是用來(lái)應(yīng)對(duì)某些人為“誤操作”引起的數(shù)據(jù)丟失或修改的情景,不僅要把數(shù)據(jù)庫(kù)的數(shù)據(jù)文件恢復(fù)出來(lái),還要利用數(shù)據(jù)庫(kù)日志文件將數(shù)據(jù)庫(kù)修復(fù)至“誤操作”之前。
在進(jìn)行數(shù)據(jù)庫(kù)恢復(fù)演練時(shí),需要做如下記錄:記錄每個(gè)具體操作指令(包括具體的命令、參數(shù)等);記錄每個(gè)操作完成所需的時(shí)間;記錄所有操作可能遇到的各種問(wèn)題以及處理方法和處理時(shí)間;記錄數(shù)據(jù)庫(kù)恢復(fù)后的檢查過(guò)程。將上述記錄整理成恢復(fù)演練技術(shù)文檔《數(shù)據(jù)庫(kù)恢復(fù)技術(shù)方案》,供下次演練時(shí)參考。這也是今后在正式生產(chǎn)環(huán)境中做數(shù)據(jù)庫(kù)恢復(fù)操作時(shí)的重要參考資料。
數(shù)據(jù)庫(kù)恢復(fù)演練的步驟如下:為不影響容災(zāi)系統(tǒng)的正常工作,可以把容災(zāi)系統(tǒng)上的數(shù)據(jù)文件拷貝一份到測(cè)試環(huán)境中,這樣,在進(jìn)行切換演練時(shí),就無(wú)須擔(dān)心影響到容災(zāi)系統(tǒng);在測(cè)試環(huán)境中停止數(shù)據(jù)同步操作,在打開容災(zāi)數(shù)據(jù)庫(kù)前,需要停止容災(zāi)數(shù)據(jù)庫(kù)的數(shù)據(jù)同步操作;在測(cè)試環(huán)境中打開數(shù)據(jù)庫(kù),將測(cè)試環(huán)境的數(shù)據(jù)庫(kù)打開并假設(shè)作為生產(chǎn)數(shù)據(jù)庫(kù)使用;將部分用于測(cè)試的應(yīng)用終端連接到測(cè)試環(huán)境中,將用于測(cè)試的終端應(yīng)用程序連接至測(cè)試環(huán)境的數(shù)據(jù)庫(kù)上,在測(cè)試終端上測(cè)試各種關(guān)鍵應(yīng)用;應(yīng)用開發(fā)人員根據(jù)測(cè)試的切換時(shí)間,檢查應(yīng)用程序在這個(gè)時(shí)間點(diǎn)之后的業(yè)務(wù)操作是否正常;清理測(cè)試環(huán)境,將測(cè)試用的數(shù)據(jù)庫(kù)從測(cè)試環(huán)境中清除;整理切換演練技術(shù)文檔,將整個(gè)切換演練過(guò)程的所有操作命令、各個(gè)步驟所需時(shí)間等記錄下來(lái),并將其整理成《數(shù)據(jù)庫(kù)容災(zāi)切換技術(shù)方案》。
數(shù)據(jù)庫(kù)管理員的日常工作之一就是檢查數(shù)據(jù)庫(kù)災(zāi)備系統(tǒng)的運(yùn)行是否正常。主要檢查以下幾個(gè)方面:①上次的數(shù)據(jù)庫(kù)備份是否正常完成;②上次數(shù)據(jù)庫(kù)備份所需時(shí)間是否正常;③備份系統(tǒng)的介質(zhì)是否有報(bào)錯(cuò)信息;④容災(zāi)數(shù)據(jù)庫(kù)與生產(chǎn)數(shù)據(jù)庫(kù)之間的數(shù)據(jù)同步是否正常;⑤容災(zāi)端數(shù)據(jù)庫(kù)的參數(shù)是否與生產(chǎn)數(shù)據(jù)庫(kù)的參數(shù)匹配。
把檢查災(zāi)備系統(tǒng)是否正常運(yùn)行作為數(shù)據(jù)庫(kù)管理員的日常運(yùn)維工作是非常必要的。有一個(gè)非常大型的醫(yī)院HIS系統(tǒng)出現(xiàn)了硬件故障,導(dǎo)致HIS數(shù)據(jù)庫(kù)無(wú)法打開。當(dāng)用戶決定利用數(shù)據(jù)庫(kù)備份進(jìn)行恢復(fù)時(shí),才發(fā)現(xiàn)備份系統(tǒng)早已報(bào)錯(cuò),數(shù)個(gè)星期前就已經(jīng)停止備份了。而且用戶沒(méi)有建設(shè)數(shù)據(jù)庫(kù)容災(zāi)系統(tǒng)。雖然最終打開了HIS數(shù)據(jù)庫(kù),但是不可避免地丟失了很多數(shù)據(jù),這些數(shù)據(jù)需要手工補(bǔ)錄。
沒(méi)有不出問(wèn)題的生產(chǎn)數(shù)據(jù)庫(kù),數(shù)據(jù)庫(kù)管理員總會(huì)遇到這樣或者那樣的情況,需要修復(fù)生產(chǎn)數(shù)據(jù)庫(kù),盡快恢復(fù)業(yè)務(wù)應(yīng)用。其實(shí),如果具備了前面提到的《數(shù)據(jù)庫(kù)恢復(fù)技術(shù)方案》和《數(shù)據(jù)庫(kù)容災(zāi)切換技術(shù)方案》,數(shù)據(jù)庫(kù)管理員是不需要擔(dān)心的。如果生產(chǎn)數(shù)據(jù)庫(kù)真的出了非常嚴(yán)重的故障,數(shù)據(jù)庫(kù)管理員只需按照已制訂好的預(yù)案處理就行了。以下是關(guān)于數(shù)據(jù)庫(kù)恢復(fù)和數(shù)據(jù)庫(kù)容災(zāi)切換的實(shí)際操作流程:
1. 檢查生產(chǎn)環(huán)境是否滿足數(shù)據(jù)庫(kù)恢復(fù)要求。硬件環(huán)境是否完好;存儲(chǔ)空間是否足夠;操作系統(tǒng)是否正常;數(shù)據(jù)庫(kù)軟件是否完備;備份軟件是否正常。
2. 檢查數(shù)據(jù)庫(kù)備份情況。
3. 近期備份是否正常,確定利用哪次的數(shù)據(jù)庫(kù)備份進(jìn)行恢復(fù);備份介質(zhì)是否正常。
4. 開始恢復(fù)生產(chǎn)數(shù)據(jù)庫(kù),根據(jù)演練情況預(yù)估恢復(fù)時(shí)間;根據(jù)演練步驟進(jìn)行數(shù)據(jù)庫(kù)恢復(fù)操作。
5. 應(yīng)用測(cè)試,測(cè)試生產(chǎn)數(shù)據(jù)庫(kù)是否可用:檢查生產(chǎn)數(shù)據(jù)是否可用;檢查是否有數(shù)據(jù)需要手工補(bǔ)錄。
6. 正式啟動(dòng)生產(chǎn)數(shù)據(jù)庫(kù)和應(yīng)用程序,通知各個(gè)科室可以正式使用業(yè)務(wù)操作;現(xiàn)場(chǎng)觀察生產(chǎn)環(huán)境運(yùn)行情況;做一次生產(chǎn)數(shù)據(jù)庫(kù)的備份。
7. 容災(zāi)數(shù)據(jù)庫(kù)切換流程 檢查容災(zāi)數(shù)據(jù)庫(kù)環(huán)境是否正常;重點(diǎn)檢查容災(zāi)系統(tǒng)的數(shù)據(jù)庫(kù)參數(shù);檢查容災(zāi)環(huán)境的存儲(chǔ)。
8. 應(yīng)用測(cè)試,將應(yīng)用終端轉(zhuǎn)接到容災(zāi)數(shù)據(jù)庫(kù)上;檢查容災(zāi)數(shù)據(jù)庫(kù)的數(shù)據(jù)是否完備;檢查應(yīng)用的性能是否滿足要求。
9. 正式切換數(shù)據(jù)庫(kù)系統(tǒng),將所有的醫(yī)院客戶端的數(shù)據(jù)庫(kù)配置都轉(zhuǎn)接到容災(zāi)數(shù)據(jù)庫(kù)上;現(xiàn)場(chǎng)觀察生產(chǎn)環(huán)境運(yùn)行情況;對(duì)容災(zāi)數(shù)據(jù)庫(kù)做一次數(shù)據(jù)庫(kù)備份。
10. 修復(fù)原來(lái)的生產(chǎn)環(huán)境,將修復(fù)好的生產(chǎn)環(huán)境作為容災(zāi)端做數(shù)據(jù)同步;將修復(fù)好的生產(chǎn)環(huán)境作為容災(zāi)端,重新配置數(shù)據(jù)庫(kù)容災(zāi)系統(tǒng)。
11. 將現(xiàn)有的生產(chǎn)數(shù)據(jù)庫(kù)反向切換回修復(fù)好的生產(chǎn)環(huán)境,按照之前的步驟將數(shù)據(jù)庫(kù)從容災(zāi)端切換回生產(chǎn)端。
PDCA循環(huán)(plan:計(jì)劃;do:實(shí)施;check:檢查;action:修正)是一個(gè)非常好的方法,可以用來(lái)檢查災(zāi)備運(yùn)維期間遇到的問(wèn)題,然后調(diào)整災(zāi)備系統(tǒng)的策略和實(shí)施過(guò)程。需要關(guān)注以下問(wèn)題:
(一)不注意檢查災(zāi)備系統(tǒng)的運(yùn)行狀態(tài)
很多情況下都是災(zāi)備系統(tǒng)早已出現(xiàn)問(wèn)題,用戶在平時(shí)沒(méi)有進(jìn)行檢查。結(jié)果在真正出現(xiàn)問(wèn)題后,卻發(fā)現(xiàn)災(zāi)備系統(tǒng)無(wú)法頂上。究其原因,一方面,是主觀上重視不夠,認(rèn)為災(zāi)備系統(tǒng)只要建設(shè)好了就不用管它了。另一方面,醫(yī)院信息化的人手不足,能夠應(yīng)付好平時(shí)的生產(chǎn)系統(tǒng)就很不錯(cuò)了。針對(duì)醫(yī)院信息化的特點(diǎn),建議使用專業(yè)的應(yīng)用監(jiān)控平臺(tái)來(lái)監(jiān)控生產(chǎn)和容災(zāi)系統(tǒng)的運(yùn)行情況,一旦出現(xiàn)問(wèn)題,這類監(jiān)控平臺(tái)會(huì)主動(dòng)通知系統(tǒng)管理員。
(二)不進(jìn)行數(shù)據(jù)庫(kù)恢復(fù)測(cè)試
醫(yī)院信息科的管理流程中沒(méi)有關(guān)于數(shù)據(jù)庫(kù)恢復(fù)測(cè)試的工作內(nèi)容。甚至于在建設(shè)數(shù)據(jù)庫(kù)容災(zāi)系統(tǒng)時(shí)也因?yàn)楦鞣N原因而沒(méi)有實(shí)施數(shù)據(jù)庫(kù)恢復(fù)測(cè)試,更不用說(shuō)有具體的數(shù)據(jù)庫(kù)恢復(fù)技術(shù)方案了。90%以上的數(shù)據(jù)庫(kù)故障都可以在較短時(shí)間內(nèi)恢復(fù),前提是要有詳細(xì)的數(shù)據(jù)庫(kù)恢復(fù)方案。
(三)忽略容災(zāi)系統(tǒng)的硬件資源
因?yàn)橘Y金限制,絕大多數(shù)醫(yī)院在建設(shè)容災(zāi)系統(tǒng)時(shí),僅僅考慮了數(shù)據(jù)不丟失或少丟失,并沒(méi)有真正考慮到容災(zāi)系統(tǒng)的計(jì)算能力問(wèn)題。對(duì)于三甲醫(yī)院,容災(zāi)系統(tǒng)的計(jì)算能力至少應(yīng)該是生產(chǎn)系統(tǒng)負(fù)載的110%以上。如正常的生產(chǎn)系統(tǒng)負(fù)載是50%,生產(chǎn)系統(tǒng)的CPU個(gè)數(shù)假設(shè)是10個(gè)。那么容災(zāi)系統(tǒng)的CPU個(gè)數(shù)應(yīng)該不少于:10×50%×110%=6(個(gè))。這樣,如果容災(zāi)系統(tǒng)真正頂上作為生產(chǎn)系統(tǒng)使用,也有10%的資源空閑。
(四)不注意災(zāi)備系統(tǒng)的恢復(fù)時(shí)間和切換時(shí)間
因?yàn)槠綍r(shí)沒(méi)有做數(shù)據(jù)庫(kù)恢復(fù)和切換演練,在真正出現(xiàn)數(shù)據(jù)庫(kù)故障時(shí),往往給不出大致的系統(tǒng)恢復(fù)時(shí)間。這會(huì)造成決策上的失誤,沒(méi)有使用正確的方法來(lái)恢復(fù)數(shù)據(jù)庫(kù),造成應(yīng)用系統(tǒng)長(zhǎng)時(shí)間不能恢復(fù)正常。
(五)不注意災(zāi)備系統(tǒng)本身為生產(chǎn)環(huán)境引入的風(fēng)險(xiǎn)
很多IT系統(tǒng)故障都是最近對(duì)系統(tǒng)做了改動(dòng),但是卻沒(méi)有注意到這些改動(dòng)帶來(lái)的風(fēng)險(xiǎn)而造成的。在建設(shè)容災(zāi)系統(tǒng)時(shí),或多或少都會(huì)對(duì)生產(chǎn)系統(tǒng)做改動(dòng)。無(wú)論這種改動(dòng)多么小,都會(huì)為生產(chǎn)系統(tǒng)帶來(lái)新的風(fēng)險(xiǎn)。在工程施工和日常運(yùn)維中涉及現(xiàn)有生產(chǎn)系統(tǒng)的更改時(shí)一定要考慮風(fēng)險(xiǎn)分析和風(fēng)險(xiǎn)控制。
智慧醫(yī)療網(wǎng) ? 2022 版權(quán)所有 ICP備案號(hào):滬ICP備17004559號(hào)-5