国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Oracle Data Guard的雙機(jī)熱備策略的設(shè)計(jì)與實(shí)現(xiàn)

2010-05-15 11:30:46
關(guān)鍵詞:備機(jī)熱備雙機(jī)

趙 婷

(中船重工集團(tuán)公司第七二二研究所,武漢 430205)

伴隨著信息化的持續(xù)推進(jìn),政府、企業(yè)的生產(chǎn)、經(jīng)營對信息系統(tǒng)的依賴越來越緊密,信息數(shù)據(jù)的安全和業(yè)務(wù)運(yùn)行的可靠性越來越重要,對于軍用數(shù)據(jù)更是如此.雙機(jī)熱備就是一種保證數(shù)據(jù)庫安全、高可靠性的解決方案.

1 當(dāng)前雙機(jī)熱備技術(shù)的缺陷

一般的雙機(jī)熱備都是在磁盤陣列的基礎(chǔ)上進(jìn)行的,數(shù)據(jù)庫放在共享的存儲(chǔ)設(shè)備上,當(dāng)一臺(tái)服務(wù)器提供服務(wù)時(shí),直接在存儲(chǔ)設(shè)備上進(jìn)行讀寫,而當(dāng)系統(tǒng)切換后,另一臺(tái)服務(wù)器也同樣讀取該存儲(chǔ)設(shè)備上的數(shù)據(jù)[1],但是由于磁盤陣列等技術(shù)并未通過軍方認(rèn)證,只能采用純軟件的方式進(jìn)行.

Oracle Data Guard就是一種純軟方式的解決方案,它是內(nèi)置于Oracle數(shù)據(jù)庫的一個(gè)功能模塊,它創(chuàng)建、維護(hù)和監(jiān)控一個(gè)或多個(gè)備用數(shù)據(jù)庫,以保護(hù)企業(yè)數(shù)據(jù)結(jié)構(gòu)不受故障、災(zāi)難、錯(cuò)誤和崩潰的影響[2].正常情況下應(yīng)用程序只連接主數(shù)據(jù)庫,主數(shù)據(jù)庫的數(shù)據(jù)能夠近實(shí)時(shí)地同步到備數(shù)據(jù)庫,當(dāng)主數(shù)據(jù)庫出現(xiàn)故障,Data Guard能夠?qū)崿F(xiàn)主庫到備庫的無縫切換,從而使與中斷相關(guān)的停機(jī)時(shí)間減到最少,并防止任何數(shù)據(jù)丟失.

但是主庫到備庫的角色切換是需要人工操作來完成的,而且當(dāng)主數(shù)據(jù)庫故障排除后,必須經(jīng)過人工干預(yù)才能避免出現(xiàn)兩臺(tái)都是主庫的情況,而在備庫上產(chǎn)生的新數(shù)據(jù)也必須通過人工操作才能導(dǎo)入到主庫.

而某型艦的網(wǎng)絡(luò)管理系統(tǒng)的使用者是軍方,使用時(shí)經(jīng)常出現(xiàn)不規(guī)范的情況,導(dǎo)致主備庫經(jīng)常切換.但是由于使用者身份特殊,大多數(shù)情況下技術(shù)人員無法上艦進(jìn)行人工維護(hù),這樣如果不加入策略實(shí)現(xiàn)計(jì)算機(jī)全自動(dòng)維護(hù),單靠Oracle Data Guard難以保證數(shù)據(jù)的安全可靠的.因此如何在不增加硬件的條件下保護(hù)數(shù)據(jù)信息安全、保證業(yè)務(wù)系統(tǒng)的實(shí)時(shí)性和高可用性成為嚴(yán)峻的挑戰(zhàn).某型艦的網(wǎng)絡(luò)管理系統(tǒng)利用Oracle的Data Guard技術(shù),結(jié)合自身系統(tǒng)的實(shí)際情況,設(shè)計(jì)并實(shí)現(xiàn)了無需人工干預(yù)的數(shù)據(jù)庫雙機(jī)熱備和容災(zāi)策略,全面保證了數(shù)據(jù)的安全.

2 策略設(shè)計(jì)方案

如圖1所示,網(wǎng)絡(luò)管理軟件的應(yīng)用服務(wù)器與兩個(gè)數(shù)據(jù)庫相連(數(shù)據(jù)庫服務(wù)器安裝Linux操作系統(tǒng),采用Oracle 10i數(shù)據(jù)庫),兩個(gè)數(shù)據(jù)庫利用Data Guard進(jìn)行雙機(jī)熱備,并互為主備.

圖1 系統(tǒng)框架圖

應(yīng)用服務(wù)器同時(shí)監(jiān)視兩個(gè)數(shù)據(jù)庫服務(wù)器,如果一臺(tái)宕機(jī)或者未開機(jī),則自動(dòng)切換到另外一臺(tái)數(shù)據(jù)庫,客戶端不會(huì)感覺到任何變化.

對于兩臺(tái)數(shù)據(jù)庫服務(wù)器來說,需要編寫shell腳本,也就是加入策略,并結(jié)合Data Guard自身機(jī)制,來避免因用戶操作不規(guī)范或數(shù)據(jù)庫服務(wù)器出現(xiàn)異常而導(dǎo)致主備切換混亂的情況.例如用戶會(huì)隨機(jī)開啟某臺(tái)數(shù)據(jù)庫服務(wù)器,而另一臺(tái)長期關(guān)閉;又或者主機(jī)宕機(jī)后另一臺(tái)備機(jī)升級(jí)為主機(jī),主機(jī)故障排除后開機(jī),這樣就出現(xiàn)了兩臺(tái)服務(wù)器都是主機(jī)的情況.

圖2是一部分策略的流程,該策略的主要功能是避免出現(xiàn)兩臺(tái)都是主機(jī)或者兩臺(tái)都是備機(jī)的情況,這些腳本同時(shí)在兩臺(tái)數(shù)據(jù)庫服務(wù)器上運(yùn)行.

圖2 部分策略流程圖

(1)首先在系統(tǒng)文件夾中加入如下配置文件用于策略的實(shí)施:①w ritedb.ini:用于記錄修改數(shù)據(jù)庫的時(shí)間,這個(gè)是在應(yīng)用程序中寫入,當(dāng)應(yīng)用軟件對數(shù)據(jù)庫進(jìn)行增加/修改/刪除的操作時(shí),寫入變更時(shí)間;②status.ini:用于記錄本機(jī)是主機(jī)還是備機(jī);③switchstatus.ini:當(dāng)備機(jī)切換為主機(jī)時(shí),加入識(shí)別標(biāo)志,避免出現(xiàn)兩臺(tái)主機(jī)的情況;④sendchange.ini:通過w ritedb.ini進(jìn)行時(shí)間判斷,發(fā)現(xiàn)本機(jī)時(shí)間為最新,則在該文件中加入識(shí)別標(biāo)志,讓對機(jī)降為備機(jī).

(2)開機(jī)后檢查整個(gè)網(wǎng)絡(luò)是否連通,如果不通,則兩臺(tái)數(shù)據(jù)庫狀態(tài)保持不變;如果連通,則要查看status.ini文件,判斷是主機(jī)還是備機(jī):①如果是備機(jī)且不能連通主機(jī),則升級(jí)為主機(jī),給switchstatus.ini文件打標(biāo),修改status.ini是主;如果備機(jī)能夠連通主機(jī),則兩臺(tái)數(shù)據(jù)庫狀態(tài)保持不變;②如果是主機(jī)且不能連通備機(jī),則兩臺(tái)數(shù)據(jù)庫狀態(tài)保持不變;如果主機(jī)能夠連通備機(jī),則要根據(jù)w ritedb.ini文件的內(nèi)容,判斷哪個(gè)數(shù)據(jù)庫上的數(shù)據(jù)最新.如果主機(jī)最新,則修改sendchange.ini文件,發(fā)送給對機(jī),讓對機(jī)降為備機(jī);如果備機(jī)最新,則主機(jī)做rman操作,降為備機(jī),修改status.ini是備.

3 關(guān)鍵技術(shù)實(shí)現(xiàn)

3.1 Data Guard雙機(jī)熱備的實(shí)現(xiàn)

(1)強(qiáng)制數(shù)據(jù)庫以logging的方式打開.

主庫上安裝完數(shù)據(jù)庫后,將主數(shù)據(jù)庫修改為歸檔模式:alter database archivelog;alter database force logging.

(2)在主、備庫上面建立備份使用的目錄.

(3)在主庫上面創(chuàng)建pfile,以后備庫上面將會(huì)使用這個(gè)文件.

SQL>create pfile='/oradata/primary/primary.ora'from spfile;修改主庫上面的pfile文件以便適應(yīng)data guard環(huán)境.

(4)在主庫上面通過rman創(chuàng)建備份集.

RMAN>BACKUP DEVICETYPEDISK FORMAT'/oradata/oracle/stage/recover_%U'DATABASE PLUS ARCHIVELOG.

(5)創(chuàng)建備庫上面的 standby控制文件(在主機(jī)做).

RMAN>BACKUP DEVICETYPEDISK FORMAT'/oradata/oracle/stage/%U'CURRENT CONT ROLFILE FOR STANDBY.

(6)拷貝上面制作完成的備份集到備份機(jī)上面.

[oracle@ldTest primary]$scp/oradata/oracle/stage/*168.4.24.225:/oradata/oracle/stage/.

(7)在備庫上面修改傳過去的pfile內(nèi)容.

(8)創(chuàng)建備庫上的復(fù)制實(shí)例.

在備用數(shù)據(jù)庫機(jī)器相應(yīng)位置上面建立udump、bdump、cdump目錄,用來存放Oracle的跟蹤文件和警告文件.

利用RMAN復(fù)制實(shí)例:RMAN>DUPLICATE TARGET DATABASE FOR STANDBY nofilenamecheck.

(9)啟動(dòng) standby模式.

將備用數(shù)據(jù)庫啟動(dòng)為standby模式,并且將備用數(shù)據(jù)庫處于管理恢復(fù)模式,即自動(dòng)應(yīng)用模式.當(dāng)主數(shù)據(jù)庫傳送歸檔文件過來,備用數(shù)據(jù)庫立即應(yīng)用此歸檔文件,使備用數(shù)據(jù)庫和主數(shù)據(jù)庫保持同步.

3.2 部分策略(Shell腳本)的實(shí)現(xiàn)

(10)備機(jī)ping主機(jī),如果主機(jī)不通,則升級(jí)為主機(jī),并修改status.ini文件.

(11)兩臺(tái)都是主機(jī),則比較 write.ini文件,如果備機(jī)最新,則主機(jī)做rman操作,降為備機(jī).

4 實(shí)際應(yīng)用情況

經(jīng)過第三方軟件測試機(jī)構(gòu)(信息產(chǎn)業(yè)部華東軟件測評中心)的測試,這套雙機(jī)熱備和容災(zāi)策略能夠很好地實(shí)現(xiàn)無人工干預(yù)下的主備切換,并能保證數(shù)據(jù)的完整性.

[1]張貴芳.基于雙機(jī)熱備技術(shù)的水利郵件系統(tǒng)備份方法探討[J].河南水利與南水北調(diào),2010(1):46-47.

[2]黃 健.基于Oracle Data Guard的容災(zāi)策略設(shè)計(jì)與實(shí)現(xiàn)[J].科技廣場,2006,11:72-73.

猜你喜歡
備機(jī)熱備雙機(jī)
熱備動(dòng)車組配置方案優(yōu)化模型
東海區(qū)實(shí)時(shí)海洋觀測數(shù)據(jù)庫雙機(jī)熱備系統(tǒng)解決方案
雙機(jī)、雙槳軸系下水前的安裝工藝
雙機(jī)牽引ZDJ9道岔不同步問題的處理
Loader軸在雙機(jī)桁架機(jī)械手上的應(yīng)用
青海廣播電視大學(xué)校園網(wǎng)升級(jí)改造探討
儀表著陸系統(tǒng)下滑臺(tái)備機(jī)故障的分析與解決
紫光云計(jì)算機(jī)升級(jí) 支持信息化建設(shè)
紫光云計(jì)算機(jī)升級(jí)虛擬化模塊
熱備冗余技術(shù)在焦化設(shè)備上的應(yīng)用
河南科技(2014年22期)2014-02-27 14:18:13
久治县| 马尔康县| 涿州市| 商水县| 沅陵县| 惠安县| 平定县| 清镇市| 临猗县| 祁阳县| 当雄县| 颍上县| 南木林县| 务川| 娱乐| 慈溪市| 宁波市| 穆棱市| 莱芜市| 资源县| 龙海市| 图片| 周口市| 朝阳市| 苗栗市| 通江县| 南召县| 普洱| 金寨县| 田阳县| 印江| 宁安市| 平昌县| 馆陶县| 宿松县| 九龙县| 车险| 阿巴嘎旗| 张家界市| 聂拉木县| 盐津县|