1.一種用于修復(fù)數(shù)據(jù)庫(kù)備庫(kù)數(shù)據(jù)的方法,其中,所述方法包括:
實(shí)時(shí)比較主庫(kù)的執(zhí)行日志位點(diǎn)信息和備庫(kù)的執(zhí)行日志位點(diǎn)信息是否一致,當(dāng)一致時(shí),對(duì)所述主庫(kù)進(jìn)行可讀不可寫的加鎖處理;
實(shí)時(shí)比較所述主庫(kù)在完成加鎖處理時(shí)執(zhí)行日志位點(diǎn)信息和所述備庫(kù)的執(zhí)行日志位點(diǎn)信息是否一致,當(dāng)一致時(shí),停止所述備庫(kù)從所述主庫(kù)進(jìn)行的復(fù)制工作;
請(qǐng)求所述主庫(kù)備份待修復(fù)數(shù)據(jù),并在所述待修復(fù)數(shù)據(jù)備份完成后,對(duì)所述主庫(kù)進(jìn)行解鎖處理;
獲取所述待修復(fù)數(shù)據(jù),并基于所述待修復(fù)數(shù)據(jù)對(duì)所述備庫(kù)進(jìn)行修復(fù),在修復(fù)完成后,開(kāi)啟所述備庫(kù)從所述主庫(kù)進(jìn)行的復(fù)制工作。
2.根據(jù)權(quán)利要求1所述的方法,其中,所述數(shù)據(jù)庫(kù)的數(shù)據(jù)引擎類型為不支持事務(wù)類型。
3.根據(jù)權(quán)利要求2所述的方法,其中,請(qǐng)求所述主庫(kù)備份待修復(fù)數(shù)據(jù)包括:
請(qǐng)求所述主庫(kù)備份所述待修復(fù)數(shù)據(jù)的數(shù)據(jù)文件和索引文件。
4.根據(jù)權(quán)利要求2或3所述的方法,其中,獲取所述待修復(fù)數(shù)據(jù)包括:
對(duì)所述備庫(kù)進(jìn)行鎖表處理;
獲取從所述主庫(kù)中所備份的待修復(fù)數(shù)據(jù);
對(duì)所述備庫(kù)進(jìn)行解鎖處理;
基于所述待修復(fù)數(shù)據(jù)進(jìn)行修復(fù)表操作。
5.根據(jù)權(quán)利要求1所述的方法,其中,所述數(shù)據(jù)庫(kù)的數(shù)據(jù)引擎類型為支持事務(wù)類型。
6.根據(jù)權(quán)利要求5所述的方法,其中,請(qǐng)求所述主庫(kù)備份待修復(fù)數(shù)據(jù)包括:請(qǐng)求所述主庫(kù)對(duì)所述待修復(fù)數(shù)據(jù)所在的數(shù)據(jù)塊進(jìn)行邏輯備份;
基于所述待修復(fù)數(shù)據(jù)對(duì)所述備庫(kù)進(jìn)行修復(fù)還包括:刪除所述備庫(kù)中待修復(fù)的事務(wù)數(shù)據(jù),將所述主庫(kù)所邏輯備份的待修復(fù)數(shù)據(jù)所在的數(shù)據(jù)塊導(dǎo)入所述備庫(kù)。
7.根據(jù)權(quán)利要求1至6中任一項(xiàng)所述的方法,其中,所述方法還包括:
在所述實(shí)時(shí)比較主庫(kù)的執(zhí)行日志位點(diǎn)信息和所述備庫(kù)的執(zhí)行日志位點(diǎn)信 息是否一致之前,關(guān)閉所述主庫(kù)與所述備庫(kù)之間的主備切換功能;
在所述獲取所述待修復(fù)數(shù)據(jù),并基于所述待修復(fù)數(shù)據(jù)對(duì)所述備庫(kù)進(jìn)行修復(fù),在修復(fù)完成后,打開(kāi)所述主庫(kù)與所述備庫(kù)之間的復(fù)制切換功能。
8.根據(jù)權(quán)利要求7所述的方法,其中,所述方法還包括:
記錄對(duì)所述主庫(kù)進(jìn)行可讀不可寫加鎖處理的已加鎖時(shí)間,當(dāng)所述已加鎖時(shí)間超過(guò)設(shè)定超時(shí)時(shí)間時(shí),停止當(dāng)前修復(fù)操作。
9.一種用于修復(fù)數(shù)據(jù)庫(kù)備庫(kù)數(shù)據(jù)的設(shè)備,其中,所述設(shè)備包括:
加鎖裝置,用于實(shí)時(shí)比較主庫(kù)的執(zhí)行日志位點(diǎn)信息和備庫(kù)的執(zhí)行日志位點(diǎn)信息是否一致,當(dāng)一致時(shí),對(duì)所述主庫(kù)進(jìn)行可讀不可寫的加鎖處理;
備庫(kù)停止裝置,用于實(shí)時(shí)比較所述主庫(kù)在完成加鎖處理時(shí)執(zhí)行日志位點(diǎn)信息和所述備庫(kù)的執(zhí)行日志位點(diǎn)信息是否一致,當(dāng)一致時(shí),停止所述備庫(kù)從所述主庫(kù)進(jìn)行的復(fù)制工作;
解鎖裝置,用于請(qǐng)求所述主庫(kù)備份待修復(fù)數(shù)據(jù),并在所述待修復(fù)數(shù)據(jù)備份完成后,對(duì)所述主庫(kù)進(jìn)行解鎖處理;
修復(fù)裝置,用于獲取所述待修復(fù)數(shù)據(jù),并基于所述待修復(fù)數(shù)據(jù)對(duì)所述備庫(kù)進(jìn)行修復(fù),在修復(fù)完成后,開(kāi)啟所述備庫(kù)從所述主庫(kù)進(jìn)行的復(fù)制工作。
10.根據(jù)權(quán)利要求9所述的設(shè)備,其中,所述數(shù)據(jù)庫(kù)的數(shù)據(jù)引擎類型為不支持事務(wù)類型。
11.根據(jù)權(quán)利要求10所述的設(shè)備,其中,所述解鎖裝置包括:
備份單元,用于請(qǐng)求所述主庫(kù)備份所述待修復(fù)數(shù)據(jù)的數(shù)據(jù)文件和索引文件。
12.根據(jù)權(quán)利要求10或11所述的設(shè)備,其中,所述修復(fù)裝置包括:
鎖表單元,用于對(duì)所述備庫(kù)進(jìn)行鎖表處理;
獲取單元,用于獲取從所述主庫(kù)中所備份的待修復(fù)數(shù)據(jù);
解鎖單元,用于對(duì)所述備庫(kù)進(jìn)行解鎖處理;
修復(fù)表單元,用于基于所述待修復(fù)數(shù)據(jù)進(jìn)行修復(fù)表操作。
13.根據(jù)權(quán)利要求9所述的設(shè)備,其中,所述數(shù)據(jù)庫(kù)的數(shù)據(jù)引擎類型為支持事務(wù)類型。
14.根據(jù)權(quán)利要求13所述的設(shè)備,其中,所述解鎖裝置包括:備份單元, 用于請(qǐng)求所述主庫(kù)對(duì)所述待修復(fù)數(shù)據(jù)所在的數(shù)據(jù)塊進(jìn)行邏輯備份;
所述修復(fù)裝置還包括:導(dǎo)入單元,用于刪除所述備庫(kù)中待修復(fù)的事務(wù)數(shù)據(jù),將所述主庫(kù)所邏輯備份的待修復(fù)數(shù)據(jù)所在的數(shù)據(jù)塊導(dǎo)入所述備庫(kù)。
15.根據(jù)權(quán)利要求9所述的設(shè)備,其中,所述設(shè)備還包括:
關(guān)閉裝置,用于在所述實(shí)時(shí)比較主庫(kù)的執(zhí)行日志位點(diǎn)信息和所述備庫(kù)的執(zhí)行日志位點(diǎn)信息是否一致之前,關(guān)閉所述主庫(kù)與所述備庫(kù)之間的主備切換功能;
備庫(kù)開(kāi)啟裝置,用于在所述獲取所述待修復(fù)數(shù)據(jù),并基于所述待修復(fù)數(shù)據(jù)對(duì)所述備庫(kù)進(jìn)行修復(fù),在修復(fù)完成后,打開(kāi)所述主庫(kù)與所述備庫(kù)之間的主備切換功能。
16.根據(jù)權(quán)利要求9所述的設(shè)備,其中,所述設(shè)備還包括:
記錄裝置,用于記錄對(duì)所述主庫(kù)進(jìn)行可讀不可寫加鎖處理的已加鎖時(shí)間,當(dāng)所述已加鎖時(shí)間超過(guò)設(shè)定超時(shí)時(shí)間時(shí),停止當(dāng)前修復(fù)操作。