恢復數(shù)據(jù)庫的方法、裝置及數(shù)據(jù)庫服務器的制造方法
【技術領域】
[0001]本公開涉及計算機技術,尤其涉及恢復數(shù)據(jù)庫的方法、裝置及數(shù)據(jù)庫服務器。
【背景技術】
[0002]數(shù)據(jù)庫在宕機時,很有可能導致整個數(shù)據(jù)庫的數(shù)據(jù)丟失,為了保證丟失的數(shù)據(jù)能夠及時恢復,通常是對數(shù)據(jù)庫定期進行一次全量備份生成全量備份文件,然后在全量備份的基礎上再做增量備份生成增量備份文件,由于增量備份的策略比較多,比如每小時進行一次增量備份,或者是對數(shù)據(jù)庫的任何一個操作都進行一次增量備份等,所以增量備份文件的個數(shù)比較多,備份產(chǎn)生的全量備份文件和增量備份文件會存放在一臺或者多臺服務器的硬盤上。在數(shù)據(jù)庫宕機后,采用先導入全量備份文件,再依次導入增量備份文件的策略對數(shù)據(jù)庫進行恢復。
【發(fā)明內(nèi)容】
[0003]為克服相關技術中存在的問題,本公開提供一種恢復數(shù)據(jù)庫的方法、裝置及數(shù)據(jù)庫服務器。
[0004]根據(jù)本公開實施例的第一方面,提供一種恢復數(shù)據(jù)庫的方法,包括:
[0005]根據(jù)預設語句合并規(guī)則對數(shù)據(jù)庫的備份文件進行分析,所述備份文件包括一條以上執(zhí)行語句,確定兩條以上待合并為一條組提交語句的所述執(zhí)行語句;
[0006]根據(jù)所述兩條以上待合并為一條組提交語句的所述執(zhí)行語句生成所述組提交語句;
[0007]將所述組提交語句按照預設次序加入數(shù)據(jù)庫消息隊列,執(zhí)行所述數(shù)據(jù)庫消息隊列中的所述組提交語句。
[0008]結合本公開實施例的第一方面,本公開實施例的第一方面的第一種可能的實現(xiàn)方式中,所述備份文件包括全量備份文件和增量備份文件。
[0009]結合本公開實施例的第一方面的第一種可能的實現(xiàn)方式,本公開實施例的第一方面的第二種可能的實現(xiàn)方式中,所述根據(jù)預設語句合并規(guī)則對數(shù)據(jù)庫的備份文件進行分析,確定兩條以上待合并為一條組提交語句的所述執(zhí)行語句,包括:
[0010]根據(jù)所述預設語句合并規(guī)則對所述全量備份文件進行分析,確定所述全量備份文件中兩條以上待合并為一條組提交語句的所述執(zhí)行語句;
[0011]根據(jù)所述預設語句合并規(guī)則對所述增量備份文件進行分析,確定所述增量備份文件中兩條以上待合并為一條組提交語句的所述執(zhí)行語句。
[0012]結合本公開實施例的第一方面的第二種可能的實現(xiàn)方式,本公開實施例的第一方面的第三種可能的實現(xiàn)方式中,所述根據(jù)所述預設語句合并規(guī)則對所述全量備份文件進行分析,確定所述全量備份文件中兩條以上待合并為一條組提交語句的所述執(zhí)行語句,包括:
[0013]將所述全量備份文件拆分為兩個以上全量備份子文件;
[0014]啟動兩個以上處理線程分別對所述兩個以上全量備份子文件根據(jù)所述預設語句合并規(guī)則進行分析,確定各個所述全量備份子文件中兩條以上待合并為一條組提交語句的所述執(zhí)行語句。
[0015]結合本公開實施例的第一方面的第二種可能的實現(xiàn)方式,本公開實施例的第一方面的第四種可能的實現(xiàn)方式中,所述根據(jù)所述預設語句合并規(guī)則對所述全量備份文件進行分析,確定所述全量備份文件中兩條以上待合并為一條組提交語句的所述執(zhí)行語句,包括:
[0016]將所述全量備份文件拆分為兩個以上全量備份子文件;
[0017]兩個以上數(shù)據(jù)庫服務器分別對所述兩個以上全量備份子文件根據(jù)所述預設語句合并規(guī)則進行分析,確定各個所述全量備份子文件中兩條以上待合并為一條組提交語句的所述執(zhí)行語句。
[0018]結合本公開實施例的第一方面的第二種可能的實現(xiàn)方式,本公開實施例的第一方面的第五種可能的實現(xiàn)方式中,所述根據(jù)所述預設語句合并規(guī)則對所述增量備份文件進行分析,確定所述增量備份文件中兩條以上待合并為一條組提交語句的所述執(zhí)行語句,包括:
[0019]啟動兩個以上處理線程分別對兩個以上所述增量備份文件根據(jù)所述預設語句合并規(guī)則進行分析,分別確定每個所述增量備份文件中兩條以上待合并為一條組提交語句的所述執(zhí)行語句;
[0020]根據(jù)所述預設語句合并規(guī)則對所述兩個以上所述增量備份文件進行分析,確定所述兩個以上所述增量備份文件中待合并為一條組提交語句的組提交語句。
[0021]結合本公開實施例的第一方面的第二種可能的實現(xiàn)方式,本公開實施例的第一方面的第六種可能的實現(xiàn)方式中,所述根據(jù)所述預設語句合并規(guī)則對所述增量備份文件進行分析,確定所述增量備份文件中兩條以上待合并為一條組提交語句的所述執(zhí)行語句,包括:
[0022]兩個以上數(shù)據(jù)庫服務器分別對兩個以上所述增量備份文件根據(jù)所述預設語句合并規(guī)則進行分析,分別確定每個所述增量備份文件中兩條以上待合并為一條組提交語句的所述執(zhí)行語句;
[0023]所述服務器根據(jù)所述預設語句合并規(guī)則對所述兩個以上所述增量備份文件進行分析,確定所述兩個以上所述增量備份文件中待合并為一條組提交語句的組提交語句。
[0024]結合本公開實施例的第一方面、第一方面的第一種至第六種中任一種可能的實現(xiàn)方式,本公開實施例的第一方面的第七種可能的實現(xiàn)方式中,所述根據(jù)預設語句合并規(guī)則對數(shù)據(jù)庫的備份文件進行分析之前,還包括:
[0025]將所述備份文件中對恢復所述數(shù)據(jù)庫不產(chǎn)生影響的執(zhí)行語句濾除掉。
[0026]結合本公開實施例的第一方面,本公開實施例的第一方面的第八種可能的實現(xiàn)方式中,所述方法還包括:
[0027]將所述備份文件中未合并的執(zhí)行語句按照所述預設次序加入所述數(shù)據(jù)庫消息隊列,執(zhí)行所述數(shù)據(jù)庫消息隊列中的所述執(zhí)行語句。
[0028]根據(jù)本公開實施例的第二方面,提供一種恢復數(shù)據(jù)庫的裝置,包括:
[0029]分析單元,被配置為根據(jù)預設語句合并規(guī)則對數(shù)據(jù)庫的備份文件進行分析,所述備份文件包括一條以上執(zhí)行語句,確定兩條以上待合并為一條組提交語句的所述執(zhí)行語句;
[0030]合并單元,被配置為根據(jù)所述兩條以上待合并為一條組提交語句的所述執(zhí)行語句生成所述組提交語句;
[0031]執(zhí)行單元,被配置為將所述組提交語句按照預設次序加入數(shù)據(jù)庫消息隊列,執(zhí)行所述數(shù)據(jù)庫消息隊列中的所述組提交語句。
[0032]結合本公開實施例的第二方面,本公開實施例的第二方面的第一種可能的實現(xiàn)方式中,所述備份文件包括全量備份文件和增量備份文件。
[0033]結合本公開實施例的第二方面的第一種可能的實現(xiàn)方式,本公開實施例的第二方面的第二種可能的實現(xiàn)方式中,所述分析單元包括:
[0034]全量分析模塊,被配置為根據(jù)所述預設語句合并規(guī)則對所述全量備份文件進行分析,確定所述全量備份文件中兩條以上待合并為一條組提交語句的所述執(zhí)行語句;
[0035]增量分析模塊,被配置為根據(jù)所述預設語句合并規(guī)則對所述增量備份文件進行分析,確定所述增量備份文件中兩條以上待合并為一條組提交語句的所述執(zhí)行語句。
[0036]結合本公開實施例的第二方面的第二種可能的實現(xiàn)方式,本公開實施例的第二方面的第三種可能的實現(xiàn)方式中,所述全量分析模塊包括:
[0037]文件拆分子模塊,被配置為將所述全量備份文件拆分為兩個以上全量備份子文件;
[0038]全量分析子模塊,被配置為啟動兩個以上處理線程分別對所述兩個以上全量備份子文件根據(jù)所述預設語句合并規(guī)則進行分析,確定各個所述全量備份子文件中兩條以上待合并為一條組提交語句的所述執(zhí)行語句。
[0039]結合本公開實施例的第二方面的第二種可能的實現(xiàn)方式,本公開實施例的第二方面的第四種可能的實現(xiàn)方式中,所述增量分析模塊包括:
[0040]第一增量分析子模塊,被配置為啟動兩個以上處理線程分別對兩個以上所述增量備份文件根據(jù)所述預設語句合并規(guī)則進行分析,分別確定每個所述增量備份文件中兩條以上待合并為一條組提交語句的所述執(zhí)行語句;
[0041]第二增量分析子模塊,根據(jù)所述預設語句合并規(guī)則對所述兩個以上所述增量備份文件進行分析,確定所述兩個以上所述增量備份文件中待合并為一條組提交語句的組提交語句。
[0042]結合本公開實施例的第二方面、第二方面的第一種至第四種中任一種可能的實現(xiàn)方式,本公開實施例的第二方面的第五種可能的實現(xiàn)方式中,還包括:
[0043]濾除單元,被配置為將所述備份文件中對恢復所述數(shù)據(jù)庫不產(chǎn)生影響的執(zhí)行語句濾除掉。
[0044]結合本公開實施例的第二方面,本公開實施例的第二方面的第六種可能的實現(xiàn)方式中,所述執(zhí)行單元,被配置為將所述備份文件中未合并的執(zhí)行語句按照所述預設次序加入所述數(shù)據(jù)庫消息隊列,執(zhí)行所述數(shù)據(jù)庫消息隊列中的所述執(zhí)行語句。
[0045]根據(jù)本公開實施例的第三方面,提供一種數(shù)據(jù)庫服務器,包括:處理器和被配置為存儲備份文件和所述處理器可執(zhí)行指令的存儲器;
[0046]其中,所述處理器被配置為執(zhí)行指令,以執(zhí)行根據(jù)預設語句合并規(guī)則對數(shù)據(jù)庫的備份文件進行分析,所述備份文件包括一條以上執(zhí)行語句,確定兩條以上待合并為一條組提交語句的所述執(zhí)行語句;根據(jù)所述兩條以上待合并為一條組提交語句的所述執(zhí)行語句生成所述組提交語句;將所述組提交語句按照預設次序加入數(shù)據(jù)庫消息隊列,執(zhí)行所述數(shù)據(jù)庫消息