◆劉恩軍
基于Oracle Dataguard的數(shù)據(jù)災(zāi)備技術(shù)
◆劉恩軍
(齊齊哈爾大學(xué) 網(wǎng)絡(luò)信息中心 黑龍江 161006)
所謂的災(zāi)備技術(shù),就是在一個數(shù)據(jù)中心發(fā)生故障或者是災(zāi)難的情況下,其他的數(shù)據(jù)中心依舊可以正常運(yùn)行,針對關(guān)鍵的業(yè)務(wù)或者是全部的業(yè)務(wù)實(shí)現(xiàn)接管,這能夠形成很好的備份效果,伴隨著現(xiàn)代社會經(jīng)濟(jì)的高速發(fā)展,社會大眾和社會發(fā)展中的智能終端電子設(shè)備增多,數(shù)據(jù)中心的數(shù)量也具有顯著的提升,在這種情況下,就需要高水平的數(shù)據(jù)災(zāi)備技術(shù),最好實(shí)現(xiàn)用戶的“故障無感知”,這也是數(shù)據(jù)災(zāi)備技術(shù)發(fā)展的重要目標(biāo)之一。本文主要介紹一種基于Oracle Dataguard的數(shù)據(jù)災(zāi)備技術(shù),需要注意到的是,數(shù)據(jù)災(zāi)備整體上是一種綜合性的系統(tǒng)工程,涉及到備份、復(fù)制和鏡像等等多項技術(shù),因此所使用的基于Oracle Dataguard的數(shù)據(jù)災(zāi)備技術(shù)就變得十分重要和必要了,目前基于Oracle Dataguard的數(shù)據(jù)災(zāi)備技術(shù)在大型企業(yè)和金融行業(yè)中的應(yīng)用比較常見。所以,在接下來的文章中就將針對基于Oracle Dataguard的數(shù)據(jù)災(zāi)備技術(shù)進(jìn)行系統(tǒng)的研究和分析。
數(shù)據(jù)災(zāi)備;Oracle Dataguard;技術(shù)應(yīng)用;研究分析
隨著時間的推移,國內(nèi)的社會經(jīng)濟(jì)和科學(xué)技術(shù)都得到快速的發(fā)展和推進(jìn),信息技術(shù)適合當(dāng)代的網(wǎng)絡(luò)背景,并且更加符合用戶的使用習(xí)慣,目前國內(nèi)很多公司企業(yè)都開始運(yùn)用信息系統(tǒng)對自身的業(yè)務(wù)工作進(jìn)行日常的管理和工作,譬如常見的ERP、CRM和OA等等系統(tǒng),這些系統(tǒng)的運(yùn)用,其本質(zhì)上都是以數(shù)據(jù)中心為主體的,一旦數(shù)據(jù)中心出現(xiàn)異常情況,盡管只是失去一條信息、數(shù)據(jù)記錄,其對于企業(yè)發(fā)展也會造成嚴(yán)重的負(fù)面影響,在這種情況下,為了保障系統(tǒng)的安全、企業(yè)的發(fā)展,就需要應(yīng)用數(shù)據(jù)災(zāi)備技術(shù),這對于企業(yè)和社會經(jīng)濟(jì)整體發(fā)展同等重要。所以,在接下來的文章中就將針對基于Oracle Dataguard的數(shù)據(jù)災(zāi)備技術(shù)進(jìn)行詳盡闡述,除此之外,還會提出一定的具有針對性和建設(shè)性的意見和對策,其主要目的在于促進(jìn)基于Oracle Dataguard的數(shù)據(jù)災(zāi)備技術(shù)價值和作用的發(fā)揮。
所謂的數(shù)據(jù)災(zāi)備技術(shù),顧名思義,這項技術(shù)與數(shù)據(jù)是息息相關(guān)的,此項技術(shù)的運(yùn)用,可以實(shí)現(xiàn)一個數(shù)據(jù)中心在發(fā)生故障或者是災(zāi)難的情況下,其他的數(shù)據(jù)中心依舊可以正常進(jìn)行運(yùn)用,并且對關(guān)鍵業(yè)務(wù)工作甚至是全部業(yè)務(wù)工作實(shí)現(xiàn)接管,實(shí)際的外部表現(xiàn)來看就是達(dá)到了互為備份的效果[1]。
現(xiàn)代社會經(jīng)濟(jì)發(fā)展迅速,其重要表現(xiàn)就是信息技術(shù)的高速發(fā)展和運(yùn)用,而好的數(shù)據(jù)災(zāi)備技術(shù)的運(yùn)用,可以為數(shù)據(jù)中心的運(yùn)行提供對應(yīng)的保障,好的數(shù)據(jù)災(zāi)備技術(shù)甚至可以實(shí)現(xiàn)用戶的“故障無感知”,這也是現(xiàn)代社會企業(yè)發(fā)展所急需的。但同時還需要意識到,數(shù)據(jù)災(zāi)備工作其實(shí)是一項系統(tǒng)性、綜合性的工程,在實(shí)際的工作過程中涉及到備份、復(fù)制等等多項技術(shù),系統(tǒng)建設(shè)的復(fù)雜程度比較高,對于相關(guān)負(fù)責(zé)這項工作的工作人員也提出了嶄新且更高的要求,筆者經(jīng)過實(shí)際的研究和調(diào)查之后發(fā)現(xiàn),數(shù)據(jù)災(zāi)備技術(shù)在國內(nèi)的大型企業(yè)和金融行業(yè)內(nèi)的運(yùn)用較為常見[2]。
基于Oracle Dataguard的數(shù)據(jù)災(zāi)備技術(shù),是Oracle公司給予數(shù)據(jù)庫級別的容災(zāi)解決方案,這一解決方案本質(zhì)上來說是一個生產(chǎn)數(shù)據(jù)庫,其中包含多個備用的數(shù)據(jù)庫,備用數(shù)據(jù)庫與主數(shù)據(jù)庫在運(yùn)行過程中擁有一致的副本,通過Oracle公司的網(wǎng)絡(luò)將重做數(shù)據(jù)傳輸?shù)絺溆玫恼军c(diǎn)之上,并且在備用的數(shù)據(jù)庫中進(jìn)行運(yùn)用,這樣的高速傳輸過程就可以使得備用數(shù)據(jù)庫與主數(shù)據(jù)庫保持高度的同步,這樣才能滿足企業(yè)發(fā)展需求[3]。
另外,備用數(shù)據(jù)庫以只讀的方式打開,在打開之后能夠?qū)溆脭?shù)據(jù)庫的運(yùn)行進(jìn)行查詢,但是無法以只讀方式打開的同時運(yùn)行恢復(fù),這兩者是互相矛盾的,并且從數(shù)據(jù)庫只以只讀方式打開時,傳送過去的重做的數(shù)據(jù)將在備用站點(diǎn)上累積,而不是進(jìn)行運(yùn)用,后續(xù)就能夠隨時從數(shù)據(jù)庫上恢復(fù)操作,并且自動應(yīng)用累積的重做數(shù)據(jù),在基于Oracle Dataguard的數(shù)據(jù)災(zāi)備技術(shù)應(yīng)用過程中,需要注意的是,這是一項長期的工作過程,這項技術(shù)的特點(diǎn)也是綜合性和系統(tǒng)性比較強(qiáng)[4]。
首先是主數(shù)據(jù)庫方面,采用Primary主數(shù)據(jù)庫,其中,Data Guard包含一個Primary數(shù)據(jù)庫就是生產(chǎn)數(shù)據(jù)庫;
在備用數(shù)據(jù)庫方面選擇Standby數(shù)據(jù)庫,在同一個Data Guard中最多可以進(jìn)行9個standby數(shù)據(jù)庫的創(chuàng)建,一旦創(chuàng)建工作完成,數(shù)據(jù)庫中的redo就會對每一個備用數(shù)據(jù)庫進(jìn)行自動的維護(hù)工作,進(jìn)而保障數(shù)據(jù)的安全性和有效性;
①安裝環(huán)境。備用數(shù)據(jù)庫是需要使用物理standby方式進(jìn)行安裝的[5];
②分別在兩臺主機(jī)上進(jìn)行Oracle 10g數(shù)據(jù)庫的安裝工作,在dg1上按照一般數(shù)據(jù),進(jìn)行Oracle 10g的安裝,并且進(jìn)行數(shù)據(jù)庫的創(chuàng)建工作[6];
ORACLE_SID=dgdemo;
Global Database Name=dgdemo
期間一定要選擇啟動歸檔方式,也就是Enable Archiving;
在dg2上,只進(jìn)行Oracle 10g軟件的安裝工作(Choose Install software only);
③分別在兩臺主機(jī)上進(jìn)行Oracle監(jiān)聽程序的配置工作;
在完成配置之后,還需要對其進(jìn)行測試和檢查工作,觀察監(jiān)聽程序是否正常進(jìn)行工作,在監(jiān)聽程序具有問題的情況下,需要對監(jiān)聽程序進(jìn)行優(yōu)化和完善,使其問題得到解決。
④進(jìn)行Dataguard的設(shè)計工作
首先需要在dg1上運(yùn)行alter database force logging,這是設(shè)計工作的重要前提之一;
其次需要對dg1上的pfile的參數(shù)進(jìn)行修改;
再次需要創(chuàng)建spfile,其主要用在主庫的啟動方面;
之后需要在主庫上進(jìn)行controifile的創(chuàng)建工作[7];
后續(xù)需要復(fù)制主庫的數(shù)據(jù)文件,日志文件,控制文件,密碼文件到備庫,在這一過程中需要注意,整個過程進(jìn)行的路徑需要保持一一對應(yīng)。
總而言之,在進(jìn)行基于Oracle Dataguard的數(shù)據(jù)災(zāi)備技術(shù)運(yùn)用過程中,需要保障Oracle Net保持正常的運(yùn)行,因為這是將主數(shù)據(jù)庫的重做日志傳輸并且應(yīng)用到數(shù)據(jù),保障主數(shù)據(jù)庫和備用數(shù)據(jù)庫可以同步的重要前提。
(1)高性能、高可靠性
現(xiàn)代社會經(jīng)濟(jì)發(fā)展迅速,不同類型企業(yè)發(fā)展內(nèi)外環(huán)境出現(xiàn)了比較大的變化情況,對于相關(guān)的企業(yè)系統(tǒng)也提出了嶄新且更高的要求,而基于Oracle Dataguard的數(shù)據(jù)災(zāi)備技術(shù)的運(yùn)用,具有很好的性能,本地備份與遠(yuǎn)程復(fù)制可以進(jìn)行結(jié)合,進(jìn)而保障業(yè)務(wù)數(shù)據(jù)的安全性,這也是高可靠性的重要體現(xiàn)方式之一。另外,基于Oracle Dataguard的數(shù)據(jù)災(zāi)備技術(shù)可以實(shí)現(xiàn)對系統(tǒng)和數(shù)據(jù)庫級的性能優(yōu)化,進(jìn)而消除系統(tǒng)存在的平靜,使得硬件資源得到最大化的利用,進(jìn)而使得企業(yè)、公司的需求得到有效的滿足。
(2)方便且靈活
在基于Oracle Dataguard的數(shù)據(jù)災(zāi)備技術(shù)應(yīng)用過程中,系統(tǒng)中的備份數(shù)據(jù)中心的數(shù)據(jù)庫系統(tǒng)能夠隨時切換到打開狀態(tài),不同于冷容災(zāi)模式下容災(zāi)站點(diǎn)的數(shù)據(jù)庫系統(tǒng)在進(jìn)行數(shù)據(jù)復(fù)制是不可用的情況,基于Oracle Dataguard的數(shù)據(jù)災(zāi)備技術(shù)的靈活性明顯,可以通過其他的系統(tǒng)提供數(shù)據(jù)共享服務(wù),譬如在系統(tǒng)實(shí)際的應(yīng)用過程中,備份數(shù)據(jù)中心可以為綜合查詢系統(tǒng)提供高效、快捷的數(shù)據(jù)抽取功能,并且實(shí)現(xiàn)數(shù)據(jù)抽取過程與生產(chǎn)系統(tǒng)的完全隔離[8]。簡單來說,就是對于系統(tǒng)的影響非常小,這也是本文研究分析的基于Oracle Dataguard的數(shù)據(jù)災(zāi)備技術(shù)的主要優(yōu)勢之一。
(3)高效率、低負(fù)載
基于Oracle Dataguard的數(shù)據(jù)災(zāi)備技術(shù),數(shù)據(jù)復(fù)制引擎使用基于Log的復(fù)制,復(fù)制操作集中于對數(shù)據(jù)的改變,因此將對源數(shù)據(jù)庫系統(tǒng)、源操作系統(tǒng)和網(wǎng)絡(luò)的影響最小化,數(shù)據(jù)復(fù)制引擎的效率非常高,既可以保障備份效率,同時可以保障備份的準(zhǔn)確度,譬如在源數(shù)據(jù)庫一端,數(shù)據(jù)復(fù)制引擎嚴(yán)格地遵守讀一致性模式。在目標(biāo)數(shù)據(jù)庫一端,數(shù)據(jù)復(fù)制引擎使用 Oracle內(nèi)部交易格式提交事務(wù),在容災(zāi)端的交易執(zhí)行速度遠(yuǎn)遠(yuǎn)高于標(biāo)準(zhǔn)SQL語句執(zhí)行速度。同時系統(tǒng)保證操作次序和會話上下文的一致。
(4)災(zāi)難恢復(fù)
在本文研究分析的基于Oracle Dataguard的數(shù)據(jù)災(zāi)備技術(shù)中,災(zāi)難恢復(fù)是非常重要的一部分,一般情況下,源系統(tǒng)中運(yùn)行的事務(wù)一旦寫入到log當(dāng)中,系統(tǒng)就會立即將其發(fā)送到目標(biāo)系統(tǒng),如果發(fā)生了災(zāi)難等異常情況,系統(tǒng)可以在源系統(tǒng)或者是目標(biāo)系統(tǒng)進(jìn)行事務(wù)的排隊,譬如網(wǎng)絡(luò)“down”掉或目標(biāo)系統(tǒng)“down”掉,系統(tǒng)將源系統(tǒng)中的事務(wù)排隊。當(dāng)網(wǎng)絡(luò)或系統(tǒng)恢復(fù)后,系統(tǒng)將自動提交被排隊的數(shù)據(jù)并清空隊列文件,從這一過程中也不難看出,基于Oracle Dataguard的數(shù)據(jù)災(zāi)備技術(shù)面對災(zāi)難等等特殊情況的能力和效果是比較明顯的,并且不會對系統(tǒng)平臺的爭產(chǎn)工作產(chǎn)生影響[9]。
(5)高性價比
企業(yè)在實(shí)際的發(fā)展過程中需要進(jìn)行各個方面的投資和管理,成本投入比較大,進(jìn)行數(shù)據(jù)災(zāi)備技術(shù)的運(yùn)用其實(shí)也是一種投資,而基于Oracle Dataguard的數(shù)據(jù)災(zāi)備技術(shù)的運(yùn)用,能夠提供可選擇性的復(fù)制,這樣就相當(dāng)于減少了儲存和網(wǎng)絡(luò)寬帶方面的成本資源,同時避免了具有存儲數(shù)據(jù)復(fù)制功能的智能高檔陣列,因此無論從細(xì)節(jié)層面,還是宏觀角度,基于Oracle Dataguard的數(shù)據(jù)災(zāi)備技術(shù)的運(yùn)用都是具有很高性價比的。
綜上所述,基于Oracle Dataguard的數(shù)據(jù)災(zāi)備技術(shù)與其他類型的災(zāi)備技術(shù)相比具有比較多的優(yōu)勢和作用,在社會對企業(yè)發(fā)展要求和需求變得越來越高的情況下,就需要重視基于Oracle Dataguard的數(shù)據(jù)災(zāi)備技術(shù)的運(yùn)用,并且強(qiáng)化相關(guān)的研究開發(fā)工作,使得這項技術(shù)發(fā)揮出更高的價值和作用。
[1]劉育明.數(shù)據(jù)庫容災(zāi)技術(shù)研究與實(shí)現(xiàn)[J].信息系統(tǒng)工程,2021(03):11-13.
[2]陳華杰.銀行災(zāi)備中心同步數(shù)據(jù)完整性實(shí)現(xiàn)[J].金融科技時代,2021,29(03):75-78.
[3]王景艷,劉洋.基于鐵路主數(shù)據(jù)中心云化基礎(chǔ)設(shè)施的災(zāi)備關(guān)鍵技術(shù)研究[J].鐵路計算機(jī)應(yīng)用,2020,29(07):11-15.
[4]曾繁暉.貴州職業(yè)技術(shù)學(xué)院數(shù)據(jù)中心雙活技術(shù)架構(gòu)的研究[J].電腦與電信,2020(07):55-57.
[5]閆瑾,宮思明,姚丹,等.信息系統(tǒng)容災(zāi)備份技術(shù)探討[J].信息與電腦(理論版),2020,32(12):46-48.
[6]陳月琴.云計算技術(shù)下的不動產(chǎn)管理系統(tǒng)數(shù)據(jù)容災(zāi)[J].電子技術(shù)與軟件工程,2020(11):257-258.
[7]王延明. 虛擬化技術(shù)在商業(yè)銀行異地容災(zāi)中的應(yīng)用[D].蘇州大學(xué),2019.
[8]趙明.災(zāi)備建設(shè)中的數(shù)據(jù)同步技術(shù)應(yīng)用及選型方案[J].電子技術(shù)與軟件工程,2019(17):175-176.
[9]韓云鵬.數(shù)據(jù)中心災(zāi)備技術(shù)淺析[J].數(shù)字通信世界,2019(02):69+107.