本發(fā)明專利技術(shù)公開了一種實(shí)時(shí)數(shù)據(jù)庫備份恢復(fù)方法,屬于實(shí)時(shí)數(shù)據(jù)庫在信息化系統(tǒng)應(yīng)用領(lǐng)域。該方法包括數(shù)據(jù)庫停止運(yùn)行狀態(tài)下的離線全量備份及其恢復(fù),數(shù)據(jù)庫正常運(yùn)行狀態(tài)下的在線全量備份及其恢復(fù),數(shù)據(jù)庫正常運(yùn)行狀態(tài)下的增量備份及其恢復(fù)。本發(fā)明專利技術(shù)在不影響上層應(yīng)用的前提下,實(shí)現(xiàn)了實(shí)時(shí)數(shù)據(jù)庫系統(tǒng)在生產(chǎn)環(huán)境中安全、穩(wěn)定、高效的數(shù)據(jù)備份以及數(shù)據(jù)恢復(fù)。本發(fā)明專利技術(shù)實(shí)現(xiàn)一個(gè)備份工具程序,支持實(shí)時(shí)數(shù)據(jù)庫在離線和在線狀態(tài)下的全量備份,同時(shí)支持?jǐn)?shù)據(jù)庫在線狀態(tài)下的增量數(shù)據(jù)備份;實(shí)現(xiàn)一個(gè)恢復(fù)工具程序,支持對(duì)備份出來的文件進(jìn)行整理恢復(fù),確保備份的有效性;采用備份文件塊的方式,提高備份效率,極大減少備份過程對(duì)實(shí)時(shí)數(shù)據(jù)庫極其應(yīng)用的影響。
【技術(shù)實(shí)現(xiàn)步驟摘要】
本專利技術(shù)屬于實(shí)時(shí)數(shù)據(jù)庫在信息化系統(tǒng)應(yīng)用領(lǐng)域,特別是涉及一種信息系統(tǒng)實(shí)時(shí)數(shù)據(jù)庫在數(shù)據(jù)備份以及數(shù)據(jù)恢復(fù)的方法。
技術(shù)介紹
隨著生產(chǎn)系統(tǒng)信息化、自動(dòng)化水平的不斷提高,數(shù)據(jù)庫技術(shù)的不斷發(fā)展和廣泛應(yīng)用,為保證綜合業(yè)務(wù)信息實(shí)時(shí)處理系統(tǒng)(簡(jiǎn)稱綜合業(yè)務(wù)系統(tǒng))7 X 24小時(shí)不間斷地安全生產(chǎn)運(yùn)行,通常在系統(tǒng)應(yīng)用層面和數(shù)據(jù)庫層面通過軟硬件容錯(cuò)技術(shù)來提高綜合業(yè)務(wù)系統(tǒng)的安全穩(wěn)定性。系統(tǒng)應(yīng)用層面常見的有磁盤陣列機(jī)、雙機(jī)熱備、流帶備份等容錯(cuò)技術(shù),主要從系統(tǒng)應(yīng)用層面通過雙機(jī)冗余等方式同時(shí)維護(hù)多套運(yùn)行系統(tǒng),保證系統(tǒng)穩(wěn)定。數(shù)據(jù)庫層面則主要通過數(shù)據(jù)庫備份恢復(fù)技術(shù)來確保在系統(tǒng)運(yùn)行發(fā)生故障的情況下不丟失數(shù)據(jù)。常見的數(shù)據(jù)庫備份恢復(fù)方案主要有物理備份和邏輯備份兩種。物理備份拷貝數(shù)據(jù)庫的物理文件(包括控制文件、數(shù)據(jù)文件、日志文件等)入磁帶或其他存儲(chǔ)介質(zhì),根據(jù)數(shù)據(jù)庫運(yùn)行狀態(tài)又分為脫機(jī)備份(冷備)和聯(lián)機(jī)備份(熱備)兩種。脫機(jī)備份是指在關(guān)閉數(shù)據(jù)庫的情況下,將數(shù)據(jù)庫的物理文件拷貝到存儲(chǔ)介質(zhì),一般利用操作系統(tǒng)自帶的命令和工具來完成,操作簡(jiǎn)單,缺點(diǎn)在于這種方法往往需要將數(shù)據(jù)庫關(guān)閉,對(duì)于系統(tǒng)應(yīng)用的連續(xù)性有一定影響。聯(lián)機(jī)備份是指在數(shù)據(jù)庫開啟并提供用戶訪問的情況下,對(duì)物理文件做操作系統(tǒng)級(jí)別的備份,缺點(diǎn)是操作比較復(fù)雜,需要對(duì)操作系統(tǒng)有較深的認(rèn)識(shí)。邏輯備份是針對(duì)用戶、表空間、表、分區(qū)等數(shù)據(jù)庫邏輯組件進(jìn)行備份,一般將數(shù)據(jù)庫邏輯組件信息導(dǎo)出轉(zhuǎn)存為二進(jìn)制文件,恢復(fù)操作中,將導(dǎo)出的二進(jìn)制文件重新裝載到目標(biāo)數(shù)據(jù)庫中。特點(diǎn)在于操作靈活,可實(shí)現(xiàn)不同數(shù)據(jù)庫之間的數(shù)據(jù)迀移,可以對(duì)單個(gè)數(shù)據(jù)庫對(duì)象進(jìn)行備份。許多商業(yè)數(shù)據(jù)庫廠商采用不同的實(shí)現(xiàn)方式提供了很多功能強(qiáng)大的邏輯磁帶讀寫工具,如Oracle公司的export/import、數(shù)據(jù)泵技術(shù)等。然而現(xiàn)有的邏輯備份方法大多是針對(duì)關(guān)系型數(shù)據(jù)庫,對(duì)于大規(guī)模歸檔流數(shù)據(jù)的備份恢復(fù)在效率上很難滿足,而針對(duì)以處理大規(guī)模歸檔流數(shù)據(jù)見長(zhǎng)的實(shí)時(shí)數(shù)據(jù)庫,其備份恢復(fù)方法目前則比較缺乏,主要研宄成果集中在檢查點(diǎn)技術(shù)、日志記錄、協(xié)議、重裝算法等,但大多適用于內(nèi)存數(shù)據(jù)庫方面。
技術(shù)實(shí)現(xiàn)思路
本專利技術(shù)提供,目的是為了解決單個(gè)實(shí)時(shí)數(shù)據(jù)庫在本地磁盤的備份和恢復(fù)問題,該實(shí)時(shí)數(shù)據(jù)庫的數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)需滿足以下幾個(gè)條件:1、物理文件包括控制文件、緩存文件、索引文件、數(shù)據(jù)文件、日志文件;2、索引文件、數(shù)據(jù)文件無時(shí)間標(biāo)識(shí),無法以時(shí)間段進(jìn)行離線分離,即不能通過單獨(dú)拷貝某時(shí)間段的索引、數(shù)據(jù)文件進(jìn)行備份;3、數(shù)據(jù)文件中的數(shù)據(jù)結(jié)構(gòu)包含文件頭和若干均勻大小的文件塊,每個(gè)文件塊中包含若干數(shù)據(jù)節(jié)點(diǎn)(數(shù)據(jù)節(jié)點(diǎn)是一個(gè)數(shù)據(jù)集合)。本專利技術(shù)采用的技術(shù)方案主要包含三個(gè)部分:一、離線(數(shù)據(jù)庫停止運(yùn)行)全量備份及其恢復(fù),主要解決實(shí)時(shí)數(shù)據(jù)庫停止運(yùn)行情況下的全量備份和全量恢復(fù);二、在線(數(shù)據(jù)庫正常運(yùn)行)全量備份及其恢復(fù),主要解決實(shí)時(shí)數(shù)據(jù)庫開啟并提供用戶查詢?cè)L問的情況下的全量備份和全量恢復(fù);三、增量備份及其恢復(fù),主要解決實(shí)時(shí)數(shù)據(jù)庫開啟并提供正常服務(wù)的情況下,對(duì)新增加或新更新的物理文件進(jìn)行備份及其恢復(fù)。本專利技術(shù)的方法具有如下特點(diǎn):(a)適用于實(shí)時(shí)數(shù)據(jù)庫在信息化系統(tǒng)應(yīng)用領(lǐng)域,特別是涉及信息系統(tǒng)實(shí)時(shí)數(shù)據(jù)庫在數(shù)據(jù)備份以及數(shù)據(jù)恢復(fù)方面。(b)數(shù)據(jù)庫的數(shù)據(jù)結(jié)構(gòu)特定并且索引文件和數(shù)據(jù)文件分別耦合在一起,無時(shí)間標(biāo)識(shí),無法以時(shí)間段進(jìn)行離線分離,不能通過單獨(dú)拷貝某時(shí)間段的索引、數(shù)據(jù)文件進(jìn)行備份。(C)提供數(shù)據(jù)庫離線和在線兩種備份方式。(d)提供數(shù)據(jù)庫物理文件全量和增量?jī)煞N備份恢復(fù)方式。(e)增量備份通過備份數(shù)據(jù)文件新增的文件塊、控制文件、緩存文件和日志文件相結(jié)合的方式實(shí)現(xiàn)。(f)適用于索引、數(shù)據(jù)文件號(hào)按序增長(zhǎng)的數(shù)據(jù)庫系統(tǒng)。本專利技術(shù)中的離線全量備份恢復(fù)方案包括如下步驟:步驟A:停止正在運(yùn)行的實(shí)時(shí)數(shù)據(jù)庫,依次拷貝物理文件至備份目錄;步驟B:打開控制文件,讀取索引文件和數(shù)據(jù)文件列表,更新文件所在目錄為備份目錄;步驟C:創(chuàng)建全量備份信息記錄文件,保存在全量備份目錄中。打開文件編號(hào)最大的數(shù)據(jù)文件,讀取出文件頭信息,根據(jù)該信息獲取數(shù)據(jù)庫最后一次分配文件塊的時(shí)間,將該時(shí)間與該文件的文件名、文件號(hào)、已寫數(shù)據(jù)的偏移位置寫入全量備份信息記錄文件中供增量備份使用;步驟D:更新備份歷史記錄文件,記錄備份時(shí)間、備份類型及備份目錄等信息,備份結(jié)束。步驟E:離線全量恢復(fù)時(shí),由于離線全量備份出的物理文件本身就是完整的一套數(shù)據(jù)庫文件,因此可直接使用全量備份目錄中的物理文件啟動(dòng)數(shù)據(jù)庫。本專利技術(shù)中的在線全量備份恢復(fù)方案包括如下步驟:步驟A:對(duì)實(shí)時(shí)數(shù)據(jù)庫加寫鎖,確保備份過程中無新數(shù)據(jù)處理,數(shù)據(jù)庫對(duì)外依然提供查詢業(yè)務(wù);步驟B:執(zhí)行離線全量備份恢復(fù)方案步驟B、C、D ;步驟C:對(duì)實(shí)時(shí)數(shù)據(jù)庫解寫鎖,恢復(fù)實(shí)時(shí)數(shù)據(jù)庫提交處理業(yè)務(wù);步驟D:同離線全量恢復(fù)一樣,在線全量恢復(fù)時(shí),由于全量備份出的物理文件本身就是完整的一套數(shù)據(jù)庫文件,因此可直接使用全量備份目錄中的物理文件啟動(dòng)數(shù)據(jù)庫。本專利技術(shù)中的增量備份方案包括如下步驟:步驟A:獲取增量備份方式及開始、結(jié)束時(shí)間。提供三種增量備份方式:①參數(shù)為結(jié)束時(shí)間endTime,即備份從上次備份時(shí)間點(diǎn)到endTime之間新近分配的所有文件塊。②參數(shù)為天數(shù)N,即備份從上次備份時(shí)間點(diǎn)以后N天分配的所有文件塊。③無參數(shù),即備份從上次備份時(shí)間點(diǎn)到系統(tǒng)當(dāng)前時(shí)間之間分配的所有文件塊;步驟B:備份控制文件。創(chuàng)建增量備份目錄,以時(shí)間命名。將數(shù)據(jù)庫控制文件拷貝至增量備份目錄下;步驟C:備份緩存文件。調(diào)用數(shù)據(jù)庫接口將緩存數(shù)據(jù)取出,寫入自定義格式的緩存文件中;步驟D:備份日志文件。將數(shù)據(jù)庫日志文件拷貝至增量備份目錄下;步驟E:備份增量數(shù)據(jù)文件。讀取備份信息記錄文件,獲取上次備份時(shí)記錄的最大文件號(hào)及偏移,從該位置開始順序讀取文件塊至備份結(jié)束時(shí)間,將讀取的文件塊寫入自定義格式數(shù)據(jù)文件中;步驟F:創(chuàng)建增量備份信息記錄文件,保存在本次增量備份目錄中。打開文件編號(hào)最大的數(shù)據(jù)文件,讀取出文件頭信息,根據(jù)該信息獲取數(shù)據(jù)庫最后一次分配文件塊的時(shí)間,將該時(shí)間與該文件的文件名、文件號(hào)、已寫數(shù)據(jù)的偏移位置寫入增量備份信息記錄文件中供下次增量備份使用;步驟G:更新備份歷史記錄文件,記錄備份時(shí)間、備份類型及備份目錄等信息,備份結(jié)束。本專利技術(shù)中的增量數(shù)據(jù)恢復(fù)方案包括如下步驟:步驟A:通過輸入?yún)?shù)獲取恢復(fù)時(shí)間點(diǎn),順序查找增量備份目錄,選擇小于等于恢復(fù)時(shí)間點(diǎn)的所有增量備份目錄以及全量備份目錄作為恢復(fù)使用目錄;步驟B:以增量備份目錄η (I SnS N,N為步驟A獲取的增量備份目錄個(gè)數(shù))下的控制文件Fl為基礎(chǔ),通過比較全備目錄下的控制文件F2進(jìn)行調(diào)整,如果Fl中的測(cè)點(diǎn)在F2中存在,則調(diào)整該測(cè)點(diǎn)是根節(jié)點(diǎn)為F2中對(duì)應(yīng)的根節(jié)點(diǎn)指針,便于連接全量備份數(shù)據(jù)。如果Fl中的測(cè)點(diǎn)在F2中不存在,則說明該測(cè)點(diǎn)為新增測(cè)點(diǎn),將其根節(jié)點(diǎn)指針置為0,便于后續(xù)數(shù)據(jù)添加。如果F2中的測(cè)點(diǎn)在Fl中不存在,則說明該測(cè)點(diǎn)被刪除,刪除該測(cè)點(diǎn)數(shù)據(jù)。使最終生成的控制文件F3為恢復(fù)時(shí)間點(diǎn)A時(shí)刻的控制文件;步驟C:以步驟B生成的控制文件和全備目錄中的數(shù)據(jù)、索引文件為基準(zhǔn),臨時(shí)啟動(dòng)數(shù)據(jù)庫DB_T ;步驟D:讀取增量備份目錄n(l<n<N,N為步驟A獲取的增量備份目錄個(gè)數(shù))下的自定義格式緩存文件,按序回寫至DB_T ;步驟E:讀取增量備份目錄n(l&l本文檔來自技高網(wǎng)...

【技術(shù)保護(hù)點(diǎn)】
一種實(shí)時(shí)數(shù)據(jù)庫備份恢復(fù)方法,其特征在于:所述實(shí)時(shí)數(shù)據(jù)庫備份恢復(fù)方法包括:數(shù)據(jù)庫停止運(yùn)行狀態(tài)下的離線全量備份及其恢復(fù),主要解決實(shí)時(shí)數(shù)據(jù)庫停止運(yùn)行情況下的全量備份和全量恢復(fù);數(shù)據(jù)庫正常運(yùn)行狀態(tài)下的在線全量備份及其恢復(fù),主要解決實(shí)時(shí)數(shù)據(jù)庫開啟并提供用戶查詢?cè)L問的情況下的全量備份和全量恢復(fù);增量備份及其恢復(fù),主要解決實(shí)時(shí)數(shù)據(jù)庫開啟并提供正常服務(wù)的情況下,對(duì)新增加或新更新的物理文件進(jìn)行備份及其恢復(fù);所述實(shí)時(shí)數(shù)據(jù)庫的數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)滿足:物理文件包括控制文件、緩存文件、索引文件、數(shù)據(jù)文件、日志文件;索引文件、數(shù)據(jù)文件無時(shí)間標(biāo)識(shí);數(shù)據(jù)文件中的數(shù)據(jù)結(jié)構(gòu)包含文件頭和若干均勻大小的文件塊,每個(gè)文件塊中包含若干數(shù)據(jù)節(jié)點(diǎn)。
【技術(shù)特征摘要】
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:史英杰,朱恒,粟勇,周淳,
申請(qǐng)(專利權(quán))人:江蘇瑞中數(shù)據(jù)股份有限公司,
類型:發(fā)明
國別省市:江蘇;32
還沒有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。