陶 佩
(民航西南空管局飛服中心 四川 610200)
眾所周知,數(shù)據(jù)對于很多大型企事業(yè)來說是非常重要的,尤其是對數(shù)據(jù)信息依賴程度很高的企事業(yè)更是如此 。數(shù)據(jù)信息一旦不慎丟失或者生產(chǎn)系統(tǒng)不能正常運(yùn)行,都會(huì)造成不可估量的損失。為了保障生產(chǎn)系統(tǒng)的正常運(yùn)行,應(yīng)當(dāng)采取先進(jìn)、有效的災(zāi)備系統(tǒng),實(shí)現(xiàn)系統(tǒng)主備份設(shè)施的快速切換與災(zāi)難性恢復(fù),防范于未然。
現(xiàn)下在航空情報(bào)領(lǐng)域,由于航空情報(bào)數(shù)據(jù)重要性的提升,數(shù)據(jù)庫的災(zāi)備能力越來越引起重視,災(zāi)備系統(tǒng)建設(shè)將成為航空情報(bào)行業(yè)保障數(shù)據(jù)安全的重要措施。Oracle中的DataGuard技術(shù)正是一種高可用性的容災(zāi)備份技術(shù),可以解決Oracle數(shù)據(jù)庫的數(shù)據(jù)丟失或破壞的問題。
本文所涉及的航行情報(bào)信息管理系統(tǒng)(簡稱CNMS)是民航近年來航空情報(bào)工作的主要業(yè)務(wù)系統(tǒng),主要用于向機(jī)場、航空公司、空中交通管制部門和其它用戶提供航空數(shù)據(jù)信息服務(wù)。
近年來,隨著CNMS數(shù)據(jù)量的不斷增加、用戶數(shù)量和需求的不斷發(fā)展,CNMS雖然運(yùn)行效率依然良好,但在高可用性和高可靠性方面還存在不足,因此本單位一直沿用的傳統(tǒng)災(zāi)備方式已經(jīng)不能滿足及時(shí)、準(zhǔn)確恢復(fù)數(shù)據(jù)的需求。為了使CNMS在遇到數(shù)據(jù)災(zāi)難性損失等重大事件時(shí),數(shù)據(jù)庫系統(tǒng)能夠在限定時(shí)間內(nèi)成功恢復(fù)系統(tǒng),甚至能夠達(dá)到瞬時(shí)切換至備份系統(tǒng),本單位決定采用甲骨文公司推出的DataGuard技術(shù)為基礎(chǔ)用來幫助完善本單位的容災(zāi)備份系統(tǒng),提出了建設(shè)新的災(zāi)備系統(tǒng)以提高CNMS數(shù)據(jù)抵御災(zāi)害能力的方案并進(jìn)行具體實(shí)施。
通過查詢大量相關(guān)資料,根據(jù)航空情報(bào)業(yè)務(wù)的要求及其提供的原始資料,結(jié)合民航航空業(yè)務(wù)標(biāo)準(zhǔn),參考一些同類的災(zāi)備系統(tǒng)進(jìn)行分析和研究。
因在數(shù)據(jù)高可用性、數(shù)據(jù)保護(hù)、系統(tǒng)資源利用和自動(dòng)化管理方面具有優(yōu)勢,最終決定采用Oracle DataGuard技術(shù)來進(jìn)行CNMS災(zāi)備系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 。
現(xiàn)階段CNMS災(zāi)備策略的不足之處:數(shù)據(jù)庫數(shù)據(jù)備份方式單一和復(fù)雜;數(shù)據(jù)庫系統(tǒng)受災(zāi)后恢復(fù)時(shí)間長;數(shù)據(jù)庫數(shù)據(jù)保護(hù)力度不足,備份和恢復(fù)過程易丟失數(shù)據(jù);備份方式可能會(huì)影響主數(shù)據(jù)庫性能;現(xiàn)階段數(shù)據(jù)庫恢復(fù)方式復(fù)雜,無法滿足數(shù)據(jù)高可靠性的需求,人為因素較多,備份和恢復(fù)過程容易產(chǎn)生差錯(cuò)。
根據(jù)分析出的現(xiàn)階段災(zāi)備策略的不足,提出新搭建的CNMS災(zāi)備系統(tǒng)需要解決的重要問題和基本要求。
CNMS災(zāi)備方式設(shè)計(jì)主要包括數(shù)據(jù)庫災(zāi)備方式、應(yīng)用系統(tǒng)災(zāi)備方式和存儲(chǔ)災(zāi)備方式。其中數(shù)據(jù)庫災(zāi)備方式采用Oracle DataGuard技術(shù),實(shí)現(xiàn)主用、災(zāi)備系統(tǒng)數(shù)據(jù)庫信息實(shí)時(shí)同步,即是將生產(chǎn)系統(tǒng)數(shù)據(jù)庫操作日志實(shí)時(shí)或周期性的復(fù)制到災(zāi)備系統(tǒng)數(shù)據(jù)庫中,實(shí)現(xiàn)二者之間的數(shù)據(jù)一致性。
DataGuard架構(gòu)通常由多臺(tái)(至少兩臺(tái))位于不同位置的數(shù)據(jù)庫服務(wù)器組成。其中以CNMS主用服務(wù)器為主數(shù)據(jù)庫角色,其它備份數(shù)據(jù)庫為standby數(shù)據(jù)庫,基本原理是將主數(shù)據(jù)產(chǎn)生的聯(lián)機(jī)日志隨時(shí)傳送給各個(gè)standby數(shù)據(jù)庫,standby數(shù)據(jù)庫再重做這些日志。當(dāng)CNMS主數(shù)據(jù)庫發(fā)生重大故障或當(dāng)?shù)匕l(fā)生火災(zāi)、地震等災(zāi)難事件時(shí),任意一個(gè)standby數(shù)據(jù)可以快速轉(zhuǎn)換為主數(shù)據(jù)庫角色,主數(shù)據(jù)庫是大部分應(yīng)用訪問的生產(chǎn)數(shù)據(jù)庫,產(chǎn)生修改操作并將這些操作傳輸?shù)狡渌?wù)器上的數(shù)據(jù)庫上備份數(shù)據(jù)庫是主數(shù)據(jù)庫上的某個(gè)時(shí)間點(diǎn)的備份,它們事務(wù)上是一致的。主數(shù)據(jù)庫和備份數(shù)據(jù)庫之間的數(shù)據(jù)傳輸、日志應(yīng)用和角色切換等都是通過DataGuard完善的后臺(tái)機(jī)制來確保完成的。在DataGuard環(huán)境下,當(dāng)主數(shù)據(jù)庫出現(xiàn)故障時(shí),這時(shí)我們就需要對備份數(shù)據(jù)庫進(jìn)行角色切換,讓備份數(shù)據(jù)庫轉(zhuǎn)變?yōu)橹鲾?shù)據(jù)庫,確保數(shù)據(jù)不會(huì)丟失。
主庫和備庫切換方法:
當(dāng)主庫出現(xiàn)故障、需將從主庫切換到備庫時(shí),用以下sql語句進(jìn)行切換
SQL>alter database comit to switchover to physical standby with session shutdown;
SQL>shutdown immediate;
SQL>startup nomount;
SQL>alter database mount standby database;
SQL>recover managed standby database disconnect;
當(dāng)主庫出現(xiàn)故障,需將備庫切換為主庫時(shí),用以下sql語句進(jìn)行切換
SQL>alter database commit to switchover to primary;
SQL>alter database open;
應(yīng)用系統(tǒng)方面,本課題涉及的CNMS軟件在應(yīng)用層方面都是基于Oracle數(shù)據(jù)庫中提取數(shù)據(jù)的方式,因此在災(zāi)備方面只需考慮增加災(zāi)備所用的客戶端設(shè)備;存儲(chǔ)災(zāi)備方式采用磁盤拷貝技術(shù),利用光纖直連,異地備份時(shí)可以實(shí)現(xiàn)數(shù)據(jù)的遠(yuǎn)程復(fù)制與同步。
對CNMS災(zāi)備系統(tǒng)具體處置能力進(jìn)行設(shè)計(jì)??煞譃槿N情況:當(dāng)CNMS系統(tǒng)正常運(yùn)行時(shí),災(zāi)備系統(tǒng)處于何種運(yùn)行情況;當(dāng)CNMS主用系統(tǒng)發(fā)生災(zāi)難而不可用時(shí),如何切換至災(zāi)備系統(tǒng) ,這種情況可分為本地災(zāi)備與異地災(zāi)備兩種方式;當(dāng)生產(chǎn)系統(tǒng)主用數(shù)據(jù)庫恢復(fù)正常后,災(zāi)備系統(tǒng)與主用系統(tǒng)的角色互換是何種情況的設(shè)計(jì)。
利用Oracle數(shù)據(jù)庫軟件創(chuàng)建數(shù)據(jù)庫環(huán)境,根據(jù)生產(chǎn)系統(tǒng)數(shù)據(jù)庫創(chuàng)建一個(gè)或多個(gè)災(zāi)備數(shù)據(jù)庫(根據(jù)實(shí)際應(yīng)用需求);在主用和災(zāi)備數(shù)據(jù)庫之間利用Oracle DataGuard技術(shù)建立聯(lián)系,從而保證數(shù)據(jù)庫之間的數(shù)據(jù)的一致性;最終根據(jù)設(shè)計(jì)階段的具體災(zāi)備流程對主用和災(zāi)備系統(tǒng)、存儲(chǔ)和應(yīng)用終端進(jìn)行部署調(diào)試。
搭建好CNMS災(zāi)備系統(tǒng)后,對需求分析階段提出的建設(shè)目標(biāo)一一進(jìn)行測試,并對測試后的結(jié)果進(jìn)行系統(tǒng)性的分析,將測試結(jié)果比對傳統(tǒng)災(zāi)備系統(tǒng),重點(diǎn)討論新的CNMS災(zāi)備系統(tǒng)的建立與實(shí)現(xiàn)相對于傳統(tǒng)系統(tǒng)的提升與優(yōu)化性。
在實(shí)施新的災(zāi)備系統(tǒng)后,CNMS系統(tǒng)在數(shù)據(jù)信息的安全保障方面有較明顯的提升,對業(yè)務(wù)發(fā)展提供了有力的支撐。通過驗(yàn)證新災(zāi)備系統(tǒng)建設(shè)后的測試成果,能夠證明本文所采用的災(zāi)備系統(tǒng)分析方法是切實(shí)可行的。隨著民航的發(fā)展,航行情報(bào)服務(wù)業(yè)務(wù)的需求量也會(huì)越來越大,這些新的業(yè)務(wù)系統(tǒng)因工作特點(diǎn)和CNMS系統(tǒng)類似,所以也很有可能遭遇和CNMS系統(tǒng)一樣的數(shù)據(jù)庫災(zāi)備問題。對本文涉及的CNMS災(zāi)備系統(tǒng)的建設(shè)工作,今后也會(huì)給其他新的業(yè)務(wù)系統(tǒng)的數(shù)據(jù)保障提供思路和經(jīng)驗(yàn),而且本文涉及的CNMS災(zāi)備系統(tǒng)的建設(shè)工作,也會(huì)對今后航空情報(bào)業(yè)務(wù)系統(tǒng)的數(shù)據(jù)保障產(chǎn)生積極的影響。