解讀IBM DB2容災(zāi)備份方案
我們要講述的就是某省級(jí)體彩中心下轄投注站數(shù)據(jù)遺失及補(bǔ)救的案例,該投注站由于數(shù)據(jù)遺失對(duì)于日常業(yè)務(wù)產(chǎn)生了很大的影響,迫切需要一套解決方案。彩票的業(yè)務(wù)模式是將散落的數(shù)據(jù)“集中”到省級(jí)中心的數(shù)據(jù)庫(kù)中,并上傳國(guó)家級(jí)數(shù)據(jù)備份中心,這是一個(gè)典型異地、異構(gòu)數(shù)據(jù)備份系統(tǒng)。主要特點(diǎn)體現(xiàn)在:
- 營(yíng)業(yè)終端條件差,僅就硬件方面考慮,服務(wù)器被盜、火災(zāi) 、硬盤(pán)整體損壞、其他物理?yè)p傷都會(huì)造成數(shù)據(jù)的丟失。
- 地域分布廣,受終端投入的局限,僅能借助窄帶寬跨互聯(lián)網(wǎng)進(jìn)行實(shí)時(shí)環(huán)境下的數(shù)據(jù)庫(kù)復(fù)制,得以容災(zāi)。
- 依據(jù)業(yè)務(wù)數(shù)據(jù)承載量的不同,省級(jí)中心和各級(jí)投注站使用的數(shù)據(jù)庫(kù)不同——中心使用DB2,投注站或縣級(jí)中心有的采用Oracle,有的Sybase,或直接就是SQL Server。
- 業(yè)務(wù)的不可中斷性要求數(shù)據(jù)實(shí)現(xiàn)分鐘級(jí)的實(shí)時(shí)同步。并將歷史數(shù)據(jù)放在獨(dú)立數(shù)據(jù)庫(kù),使得讀、寫(xiě)分別指向不同的數(shù)據(jù)庫(kù)提升性能。
我們講述故事中,所幸的是丟的僅是個(gè)別“羊”只——個(gè)別投注站上傳數(shù)據(jù)丟失、利用較窄帶寬傳輸數(shù)據(jù)“失真”——局部號(hào)段錯(cuò)位、丟失,等等,好在還沒(méi)有丟失“羊群”,但這個(gè)警鐘已敲響,彩票在投注站打印出來(lái)就形成了合同關(guān)系,如中獎(jiǎng)數(shù)據(jù)丟失還需給付獎(jiǎng)金造成的損失都是由省體彩中心“買(mǎi)單”的。
究其上述某省級(jí)體彩中心數(shù)據(jù)丟失災(zāi)難的原因是因?yàn)榇嬖谑止ど蟼鲾?shù)據(jù)時(shí)低帶寬環(huán)境的信號(hào)延時(shí)、不同數(shù)據(jù)庫(kù)類(lèi)型間轉(zhuǎn)換數(shù)據(jù)等潛在的漏洞,這些漏洞更需“補(bǔ)牢”,而且這次“補(bǔ)牢”需要一個(gè)徹底的解決方案——實(shí)現(xiàn)數(shù)據(jù)庫(kù)異構(gòu)備份:各投注站與省級(jí)中心間、各省級(jí)中心與國(guó)家中心間都要建立跨平臺(tái)的“N+1”模式容災(zāi)。 縱觀各路數(shù)據(jù)庫(kù)備份產(chǎn)品中,能夠?qū)崿F(xiàn)異構(gòu)備份者已是鳳毛麟角。再論性能優(yōu)劣、技術(shù)前瞻性、客戶(hù)口碑,IBM TSM(Tivoli Storage Manager)備份管理工具實(shí)為最佳選擇。
IBM TSM全面支持主流平臺(tái)和主流廠商的數(shù)據(jù)庫(kù)系統(tǒng),包括Oracle、DB2、Informix、SQL Server、Sybase等。對(duì)于異構(gòu)數(shù)據(jù)庫(kù)(以O(shè)racle為例),使用TSM的數(shù)據(jù)庫(kù)保護(hù)模塊TSM for Database/Oracle能夠很好的對(duì)其進(jìn)行全面的保護(hù)——使用數(shù)據(jù)庫(kù)的備份接口,以透明化的方式提供數(shù)據(jù)庫(kù)管理員一種進(jìn)行數(shù)據(jù)備份的方法?;驹硎牵?/p>
- 捕捉:在源數(shù)據(jù)庫(kù)實(shí)時(shí)讀取交易日志捕捉數(shù)據(jù)變化并可實(shí)現(xiàn)過(guò)濾 。
- 隊(duì)列文件:暫存數(shù)據(jù)變化。
- 傳輸: 數(shù)據(jù)經(jīng)過(guò)壓縮和加密傳送到目的地。
- 執(zhí)行所需的數(shù)據(jù)變化,然后將數(shù)據(jù)變化提交到目的庫(kù)。
仍以O(shè)racle為例,備份Oracle數(shù)據(jù)庫(kù)需要TSM for Database/Oracle,它利用ORACLE數(shù)據(jù)庫(kù)提供的備份接口RMAN來(lái)對(duì)數(shù)據(jù)庫(kù)進(jìn)行備份。Oracle備份工具RMAN能夠生成需要備份的數(shù)據(jù)文件,并能夠保證數(shù)據(jù)庫(kù)的一致性,所有的熱備和邏輯備份都通過(guò)Oracle RMAN唯一接口進(jìn)行。Tivoli可以利用這些工具實(shí)現(xiàn)對(duì)Oracle數(shù)據(jù)庫(kù)的各種對(duì)象進(jìn)行在線/離線備份,另外通過(guò)RMAN增量備份的機(jī)制,TSM可以實(shí)現(xiàn)對(duì)Oracle數(shù)據(jù)庫(kù)的增量備份。而在被備份數(shù)據(jù)的輸出上采用了和TSM結(jié)合的方式,TSM就是一個(gè)雙向管道,一方面利用數(shù)據(jù)庫(kù)的API和數(shù)據(jù)庫(kù)備份軟件連接,另一方面利用TSM的API和TSM連接,將數(shù)據(jù)庫(kù)備份軟件的輸出傳送到TSM管理的備份介質(zhì)中。在Oracle中,直接設(shè)置了和TSM的連接,只需要在Oracle的相關(guān)配置中設(shè)置TSM服務(wù)器的名稱(chēng)和IP地址即可。為了減少DB主機(jī)壓力和減少備份時(shí)間,對(duì)于Oracle數(shù)據(jù)庫(kù),同時(shí)能夠提供數(shù)據(jù)庫(kù)的增量備份,僅僅備份包括自從上次備份過(guò)程以后被改變過(guò)的data files的data blocks。這些數(shù)據(jù)可以和上面談到的文件備份分開(kāi),存在不同的存儲(chǔ)池中,通過(guò)不同的存儲(chǔ)策略來(lái)進(jìn)行管理。
恢復(fù)同樣可以根據(jù)發(fā)生故障的種類(lèi),在數(shù)據(jù)庫(kù)管理員的判斷下,靈活的針對(duì)數(shù)據(jù)庫(kù)的任意一個(gè)部件進(jìn)行。如果業(yè)務(wù)數(shù)據(jù)量較大,建議對(duì)數(shù)據(jù)庫(kù)的全備份每天或每?jī)商熳鲆淮?,而每隔一段時(shí)間備份數(shù)據(jù)量較小的Transaction Log。當(dāng)發(fā)生數(shù)據(jù)損壞或丟失時(shí),先恢復(fù)最近備份的數(shù)據(jù)庫(kù)和Transaction Log,再用Transaction Log進(jìn)行Forward Recovery,從而將數(shù)據(jù)庫(kù)恢復(fù)到最近一次備份Transaction Log時(shí)的狀態(tài)。在這種備份策略下,最壞情況會(huì)丟失一段時(shí)間的數(shù)據(jù)。通過(guò)將備份Transaction Log的時(shí)間間隔減小,例如減小到每小時(shí)備份一次(這一備份時(shí)間間隔應(yīng)根據(jù)Log數(shù)據(jù)量和網(wǎng)絡(luò)帶寬情況制定),能夠最大限度地減少數(shù)據(jù)丟失;對(duì)于 master database的數(shù)據(jù),由于數(shù)據(jù)量不會(huì)太大,而且數(shù)據(jù)變化相對(duì)較小,所以建議每周做一次全備份。
綜上所述,使用TSM能夠靈活的對(duì)用戶(hù)的異構(gòu)數(shù)據(jù)庫(kù)自動(dòng)化的定時(shí)進(jìn)行備份的工作,已達(dá)到容災(zāi)的效果——應(yīng)用到上述省級(jí)彩票中心的案例中,在全省方位內(nèi)沒(méi)有對(duì)終端數(shù)據(jù)庫(kù)進(jìn)行改造的前提下,可以將各投注站或縣市級(jí)體彩中心數(shù)據(jù)“整齊劃一”,也徹底消滅了數(shù)據(jù)丟失!而且與主要競(jìng)爭(zhēng)對(duì)手的備份方案各方面對(duì)比,詳見(jiàn)下表,均有優(yōu)勢(shì)。通過(guò)上述技術(shù)性能的闡述,TSM作為當(dāng)今面臨數(shù)據(jù)爆炸式增長(zhǎng)環(huán)境中,企業(yè)成功管理和控制 “信息浪潮”的利器,應(yīng)該被人信服的。唯一有所忌憚的是先期成本的投入,誠(chéng)然TSM這樣優(yōu)秀產(chǎn)品是有代價(jià)的。但“補(bǔ)牢”后,不僅不會(huì)再丟羊,而且羊兒會(huì)更強(qiáng)壯!——有助于提高IT操作的效率, 幫助削減與存儲(chǔ)管理相關(guān)的成本,特別是數(shù)據(jù)災(zāi)難的“沉沒(méi)成本”。
【編輯推薦】