一種零損失數(shù)據(jù)的備份方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明適用于存儲領域,提供了一種零損失數(shù)據(jù)的備份方法和系統(tǒng),所述方法包括:在Oracle寫入重做日志時,設置Oracle寫兩份重做日志,并將一份所述重做日志存儲到共享存儲設備中;當Oracle主數(shù)據(jù)庫當機時,將所述共享存儲設備中存儲的所述重做日志恢復到Oracle備用數(shù)據(jù)庫中。本發(fā)明實施例,通過SAN存儲Oracle數(shù)據(jù)庫多寫的一份重做日志,當主數(shù)據(jù)庫宕機時,將重做日志從共享存儲設備恢復到備用數(shù)據(jù)庫中,實現(xiàn)了數(shù)據(jù)的零損失,并且由于使用了SAN,因此在傳輸數(shù)據(jù)時不會對主數(shù)據(jù)庫造成過量負載和時延。
【專利說明】一種零損失數(shù)據(jù)的備份方法和系統(tǒng)
【技術領域】
[0001] 本發(fā)明屬于存儲領域,尤其涉及一種零損失數(shù)據(jù)的備份方法和系統(tǒng)。
【背景技術】
[0002] 在現(xiàn)有的存儲系統(tǒng)中,通常包括主數(shù)據(jù)庫和備數(shù)據(jù)庫,即主數(shù)據(jù)庫接收到數(shù)據(jù)之 后,將該數(shù)據(jù)復制到備數(shù)據(jù)庫,以備主數(shù)據(jù)庫中的數(shù)據(jù)丟失時,可以從備數(shù)據(jù)庫中找回丟失 的數(shù)據(jù)。
[0003] 主數(shù)據(jù)庫和備數(shù)據(jù)庫之間的數(shù)據(jù)傳輸,通常使用同步傳輸和異步傳輸?shù)姆绞竭M 行:
[0004] 同步傳輸:主數(shù)據(jù)庫接收到數(shù)據(jù)時,同步將數(shù)據(jù)傳輸?shù)絺鋽?shù)據(jù)庫,只有當備數(shù)據(jù)庫 也完成數(shù)據(jù)接收時,主數(shù)據(jù)才會結(jié)束數(shù)據(jù)接收。
[0005] 優(yōu)點:主數(shù)據(jù)庫和備數(shù)據(jù)庫同步完成數(shù)據(jù)接收,保證數(shù)據(jù)最大程度的完整。
[0006] 缺點:傳輸時間長,需要主數(shù)據(jù)庫和備數(shù)據(jù)庫都完成接收。
[0007] 異步傳輸:主數(shù)據(jù)庫先完成數(shù)據(jù)接收,然后將數(shù)據(jù)傳輸?shù)絺鋽?shù)據(jù)庫。
[0008] 優(yōu)點:速度快,只需要主數(shù)據(jù)庫完成數(shù)據(jù)接收。
[0009] 缺點:只有主數(shù)據(jù)庫完成了數(shù)據(jù)接收,如果在主數(shù)據(jù)庫將數(shù)據(jù)備份到備數(shù)據(jù)庫的 過程中發(fā)生了主數(shù)據(jù)庫宕機,將造成數(shù)據(jù)丟失。
【發(fā)明內(nèi)容】
[0010] 本發(fā)明實施例的目的在于提供一種零損失數(shù)據(jù)的備份方法和系統(tǒng),旨在解決現(xiàn)有 技術無法達到數(shù)據(jù)零丟失的問題。
[0011] 本發(fā)明實施例是這樣實現(xiàn)的,一種零損失數(shù)據(jù)的備份方法,所述方法包括:
[0012] 在Oracle寫入重做日志時,設置Oracle寫兩份重做日志,并將一份所述重做日志 存儲到共享存儲設備中;
[0013] 當Oracle主數(shù)據(jù)庫當機時,將所述共享存儲設備中存儲的所述重做日志恢復到 Oracle備用數(shù)據(jù)庫中。
[0014] 本發(fā)明實施例的另一目的在于提供一種零損失數(shù)據(jù)的備份系統(tǒng),所述系統(tǒng)包括:
[0015] 重做日志寫單元,用于在Oracle寫入重做日志時,設置Oracle寫兩份重做日志, 并將一份所述重做日志存儲到共享存儲設備中;
[0016] 重做日志恢復單元,用于當Oracle主數(shù)據(jù)庫當機時,將所述重做日志備份單元存 儲的重做日志恢復到Oracle備用數(shù)據(jù)庫中。
[0017] 本發(fā)明實施例,在Orcale寫入重做日志時,設置Oracle寫兩份重做日志,通過SAN 將一份重做日志存儲到共享存儲設備中,當主數(shù)據(jù)庫宕機時,將重做日志從共享存儲設備 恢復到備用數(shù)據(jù)庫中,避免了 Orcale寫入重做日志時可能造成的數(shù)據(jù)丟失,并且由于使用 了 SAN,因此在傳輸數(shù)據(jù)時不會對主數(shù)據(jù)庫造成過量負責和時延。
【專利附圖】
【附圖說明】
[0018] 為了更清楚地說明本發(fā)明實施例中的技術方案,下面將對實施例或現(xiàn)有技術描述 中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些 實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些 附圖獲得其他的附圖。
[0019] 圖1是本發(fā)明實施例提供的零損失數(shù)據(jù)備份方法的流程圖;
[0020] 圖2是本發(fā)明實施例提供的零損失數(shù)據(jù)備份系統(tǒng)的結(jié)構(gòu)圖。
【具體實施方式】
[0021] 為了使本發(fā)明的目的、技術方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對 本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并 不用于限定本發(fā)明。
[0022] 本發(fā)明實施例,在Orcale寫入重做日志時,設置Oracle寫兩份重做日志,通過SAN 將一份重做日志存儲到共享存儲設備中,當主數(shù)據(jù)庫宕機時,將重做日志從共享存儲設備 恢復到備用數(shù)據(jù)庫中,避免了 Orcale寫入重做日志時可能造成的數(shù)據(jù)丟失,并且由于使用 了 SAN,因此在傳輸數(shù)據(jù)時不會對主數(shù)據(jù)庫造成過量負責和時延。
[0023] 為了說明本發(fā)明所述的技術方案,下面通過具體實施例來進行說明。
[0024] 實施例一
[0025] 如圖1所示為本發(fā)明實施例提供的零損失數(shù)據(jù)備份方法的流程圖,所述方法包 括:
[0026] 在步驟S101中,在Oracle寫入重做日志時,設置Oracle寫兩份重做日志,并將一 份所述重做日志存儲到共享存儲設備中。
[0027] 在本發(fā)明實施例中,在Orcale寫入重做日志時,設置Oracle寫兩份重做日志,存 儲系統(tǒng)通過存儲區(qū)域網(wǎng)絡(Storage Area Network簡稱SAN)將一份所述重做日志存儲到 共享存儲設備中。需要指出的是,所述共享存儲設備包括:云端存儲器、網(wǎng)絡硬盤、備數(shù)據(jù) 庫。特別的,當所述共享存儲設備為備數(shù)據(jù)庫時,主數(shù)據(jù)庫與備數(shù)據(jù)庫之間使用異步傳輸?shù)?方式傳輸數(shù)據(jù)。
[0028] 在步驟S202中,當Oracle主數(shù)據(jù)庫當機時,將所述共享存儲設備中存儲的所述重 做日志恢復到Oracle主數(shù)據(jù)庫中。
[0029] 在本發(fā)明實施例中,當Oracle主數(shù)據(jù)庫出現(xiàn)宕機時,存儲系統(tǒng)將共享存儲設備中 存儲的所述重做日志恢復到Oracle備用數(shù)據(jù)庫中。
[0030] 本發(fā)明實施例,在Orcale寫入重做日志時,設置Oracle寫兩份重做日志,通過SAN 將一份重做日志存儲到共享存儲設備中,當主數(shù)據(jù)庫宕機時,將重做日志從共享存儲設備 恢復到備用數(shù)據(jù)庫中,避免了 Orcale寫入重做日志時可能造成的數(shù)據(jù)丟失,并且由于使用 了 SAN,因此在傳輸數(shù)據(jù)時不會對主數(shù)據(jù)庫造成過量負責和時延。
[0031] 實施例二
[0032] 如圖2所示為本發(fā)明實施例提供的零損失數(shù)據(jù)備份系統(tǒng)的結(jié)構(gòu)圖,為了便于說 明,僅不出與本發(fā)明實施例相關的部分,包括:
[0033] 重做日志寫單元201,用于在Oracle寫入重做日志時,設置Oracle寫兩份重做日 志,并將一份所述重做日志存儲到共享存儲設備中。
[0034] 在本發(fā)明實施例中,在Orcale寫入重做日志時,設置Oracle寫兩份重做日志,存 儲系統(tǒng)通過存儲區(qū)域網(wǎng)絡(Storage Area Network簡稱SAN)將一份所述重做日志存儲到 共享存儲設備中。需要指出的是,所述共享存儲設備包括:云端存儲器、網(wǎng)絡硬盤、備數(shù)據(jù) 庫。特別的,當所述共享存儲設備為備數(shù)據(jù)庫時,主數(shù)據(jù)庫與備數(shù)據(jù)庫之間使用異步傳輸?shù)?方式傳輸數(shù)據(jù)。
[0035] 重做日志恢復單元202,用于當Oracle主數(shù)據(jù)庫當機時,將所述重做日志備份單 元201存儲的重做日志恢復到Oracle備用數(shù)據(jù)庫中。
[0036] 在本發(fā)明實施例中,當Oracle主數(shù)據(jù)庫出現(xiàn)宕機時,存儲系統(tǒng)將共享存儲設備中 存儲的所述重做日志恢復到Oracle備用數(shù)據(jù)庫中。
[0037] 本發(fā)明實施例,在Orcale寫入重做日志時,設置Oracle寫兩份重做日志,通過SAN 將一份重做日志存儲到共享存儲設備中,當主數(shù)據(jù)庫宕機時,將重做日志從共享存儲設備 恢復到備用數(shù)據(jù)庫中,避免了 Orcale寫入重做日志時可能造成的數(shù)據(jù)丟失,并且由于使用 了 SAN,因此在傳輸數(shù)據(jù)時不會對主數(shù)據(jù)庫造成過量負責和時延。
[0038] 本領域普通技術人員可以理解為上述實施例二所包括的各個單元只是按照功能 邏輯進行劃分的,但并不局限于上述的劃分,只要能夠?qū)崿F(xiàn)相應的功能即可;另外,各功能 單元的具體名稱也只是為了便于相互區(qū)分,并不用于限制本發(fā)明的保護范圍。
[0039] 本領域普通技術人員還可以理解,實現(xiàn)上述實施例方法中的全部或部分步驟是可 以通過程序來指令相關的硬件來完成,所述的程序可以在存儲于一計算機可讀取存儲介質(zhì) 中,所述的存儲介質(zhì),包括R0M/RAM、磁盤、光盤等。
[0040] 以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精 神和原則之內(nèi)所做的任何修改、等同替換和改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。
【權利要求】
1. 一種零損失數(shù)據(jù)的備份方法,其特征在于,所述方法包括: 在Oracle寫入重做日志時,設置Oracle寫兩份重做日志,并將一份所述重做日志存儲 到共享存儲設備中; 當Oracle主數(shù)據(jù)庫當機時,將所述共享存儲設備中存儲的所述重做日志恢復到 Oracle備用數(shù)據(jù)庫中。
2. 如權利要求1所述的方法,其特征在于,所述共享存儲設備包括:云端存儲器、網(wǎng)絡 硬盤、備用數(shù)據(jù)庫。
3. 如權利要求2所述的方法,其特征在于,當所述共享存儲設備為備用數(shù)據(jù)庫時,所述 主數(shù)據(jù)庫與備用數(shù)據(jù)庫之間使用異步傳輸?shù)姆绞絺鬏敂?shù)據(jù)。
4. 一種零損失數(shù)據(jù)的備份系統(tǒng),其特征在于,所述系統(tǒng)包括: 重做日志寫單元,用于在Oracle寫入重做日志時,設置Oracle寫兩份重做日志,并將 一份所述重做日志存儲到共享存儲設備中; 重做日志恢復單元,用于當Oracle主數(shù)據(jù)庫當機時,將所述重做日志備份單元存儲的 重做日志恢復到Oracle備用數(shù)據(jù)庫中。
5. 如權利要求4所述的系統(tǒng),其特征在于,所述共享存儲設備包括:云端存儲器、網(wǎng)絡 硬盤、備用數(shù)據(jù)庫。
6. 如權利要求5所示的系統(tǒng),其特征在于,當所述共享存儲設備為備用數(shù)據(jù)庫時,所述 主數(shù)據(jù)庫與備用數(shù)據(jù)庫之間使用異步傳輸?shù)姆绞絺鬏敂?shù)據(jù)。
【文檔編號】G06F17/30GK104123201SQ201310157019
【公開日】2014年10月29日 申請日期:2013年4月28日 優(yōu)先權日:2013年4月28日
【發(fā)明者】馬立珂, 王賢達, 王子駿 申請人:廣州鼎甲計算機科技有限公司