[發(fā)明專利]一種數(shù)據(jù)庫修復(fù)方法、裝置、終端設(shè)備及存儲介質(zhì)有效
申請?zhí)枺?/td> | 201810209358.3 | 申請日: | 2018-03-14 |
公開(公告)號: | CN108416040B | 公開(公告)日: | 2020-10-27 |
發(fā)明(設(shè)計)人: | 張淑南;郭振崗 | 申請(專利權(quán))人: | 上海達夢數(shù)據(jù)庫有限公司 |
主分類號: | G06F16/21 | 分類號: | G06F16/21;G06F16/27 |
代理公司: | 北京品源專利代理有限公司 11332 | 代理人: | 孟金喆 |
地址: | 201203 上海*** | 國省代碼: | 上海;31 |
權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
摘要: | |||
搜索關(guān)鍵詞: | 一種 數(shù)據(jù)庫 修復(fù) 方法 裝置 終端設(shè)備 存儲 介質(zhì) | ||
本發(fā)明公開了一種數(shù)據(jù)庫修復(fù)方法、裝置、終端設(shè)備及存儲介質(zhì)。該方法包括若主數(shù)據(jù)庫最大日志序列號大于備用數(shù)據(jù)庫接管主數(shù)據(jù)庫時最大日志序列號,則根據(jù)控制文件版本號查找備用數(shù)據(jù)庫中接管日志序列號;如果檢查點日志序列號大于接管日志序列號,則調(diào)整至小于或等于接管日志序列號后確定接管日志序列號至最大日志序列號為待修復(fù)日志序列段;否則確定接管日志序列號至最大日志序列號為待修復(fù)日志序列段;將主數(shù)據(jù)庫在待修復(fù)日志序列段內(nèi)數(shù)據(jù)頁號對應(yīng)的數(shù)據(jù)頁用備用數(shù)據(jù)庫相應(yīng)的數(shù)據(jù)頁覆蓋;將備用數(shù)據(jù)庫在接管日志序列號后的歸檔日志文件拷貝到主數(shù)據(jù)庫中;將備用數(shù)據(jù)庫控制文件覆蓋主數(shù)據(jù)庫的控制文件。該方法能降低修復(fù)故障主數(shù)據(jù)庫的時間。
技術(shù)領(lǐng)域
本發(fā)明實施例涉及數(shù)據(jù)庫技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)庫修復(fù)方法、裝置、終端設(shè)備及存儲介質(zhì)。
背景技術(shù)
隨著網(wǎng)絡(luò)時代的發(fā)展,對數(shù)據(jù)服務(wù)的可靠性提出了越來越高的要求。數(shù)據(jù)庫系統(tǒng)中,除了主數(shù)據(jù)庫對外提供服務(wù),還有備用數(shù)據(jù)庫處于備用狀態(tài),一旦主數(shù)據(jù)庫出現(xiàn)故障,備用數(shù)據(jù)庫將自動或手動接管主數(shù)據(jù)庫對外提供服務(wù)。
故障主數(shù)據(jù)庫恢復(fù)正常后,將作為原備用數(shù)據(jù)庫的備用數(shù)據(jù)庫重新加入數(shù)據(jù)庫系統(tǒng)中,在故障主數(shù)據(jù)庫重新加入數(shù)據(jù)庫系統(tǒng)的過程中,如果故障主數(shù)據(jù)庫無法加入,那么,數(shù)據(jù)庫廠商,就需要重新搭建另外的備用數(shù)據(jù)庫接管故障主數(shù)據(jù)庫加入數(shù)據(jù)庫系統(tǒng)。這種方式,在數(shù)據(jù)庫系統(tǒng)規(guī)模很大的情況下(比如TB級)非常耗時。
發(fā)明內(nèi)容
本發(fā)明提供的一種數(shù)據(jù)庫修復(fù)方法、裝置、終端設(shè)備及存儲介質(zhì),能夠有效降低修復(fù)故障主數(shù)據(jù)庫的時間。
第一方面,本發(fā)明實施例提供了一種數(shù)據(jù)庫修復(fù)方法,包括:獲取主數(shù)據(jù)庫的最大日志序列號和備用數(shù)據(jù)庫接管所述主數(shù)據(jù)庫時的最大日志序列號;
如果所述主數(shù)據(jù)庫的最大日志序列號大于所述備用數(shù)據(jù)庫接管所述主數(shù)據(jù)庫時的最大日志序列號,則獲取所述主數(shù)據(jù)庫中的檢查點日志序列號和控制文件版本號;
根據(jù)所述控制文件版本號查找所述備用數(shù)據(jù)庫中的接管日志序列號,所述接管日志序列號是所述備用數(shù)據(jù)庫接管所述主數(shù)據(jù)庫時的日志序列號;
如果所述檢查點日志序列號大于所述接管日志序列號,則調(diào)整至所述檢查點日志序列號小于或等于所述接管日志序列號后,確定所述接管日志序列號至所述最大日志序列號為待修復(fù)日志序列段;否則,確定所述接管日志序列號至所述最大日志序列號為待修復(fù)日志序列段;
將所述主數(shù)據(jù)庫中在所述待修復(fù)日志序列段內(nèi)數(shù)據(jù)頁號對應(yīng)的數(shù)據(jù)頁用所述備用數(shù)據(jù)庫中相應(yīng)的數(shù)據(jù)頁覆蓋;將所述備用數(shù)據(jù)庫中在所述接管日志序列號后的所有歸檔日志文件拷貝到所述主數(shù)據(jù)庫中,以使在所述主數(shù)據(jù)庫中運行拷貝來的歸檔日志文件;并且,將所述備用數(shù)據(jù)庫中的控制文件覆蓋所述主數(shù)據(jù)庫中的控制文件。
第二方面,本發(fā)明實施例還提供了一種數(shù)據(jù)庫修復(fù)裝置,包括:
序列號獲取模塊,用于獲取主數(shù)據(jù)庫的最大日志序列號和備用數(shù)據(jù)庫接管所述主數(shù)據(jù)庫時的最大日志序列號;
數(shù)據(jù)獲取模塊,用于當(dāng)所述主數(shù)據(jù)庫的最大日志序列號大于所述備用數(shù)據(jù)庫接管所述主數(shù)據(jù)庫時的最大日志序列號時,獲取所述主數(shù)據(jù)庫中的檢查點日志序列號和控制文件版本號;
接管序號查找模塊,用于根據(jù)所述控制文件版本號查找所述備用數(shù)據(jù)庫中的接管日志序列號,所述接管日志序列號是所述備用數(shù)據(jù)庫接管所述主數(shù)據(jù)庫時的日志序列號;
待修復(fù)段確定模塊,用于如果所述檢查點日志序列號大于所述接管日志序列號,則調(diào)整至所述檢查點日志序列號小于或等于所述接管日志序列號后,確定所述接管日志序列號至所述最大日志序列號為待修復(fù)日志序列段;否則,確定所述接管日志序列號至所述最大日志序列號為待修復(fù)日志序列段;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于上海達夢數(shù)據(jù)庫有限公司,未經(jīng)上海達夢數(shù)據(jù)庫有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810209358.3/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 數(shù)據(jù)庫
- 數(shù)據(jù)庫管理系統(tǒng)及數(shù)據(jù)庫
- 數(shù)據(jù)庫構(gòu)筑裝置、數(shù)據(jù)庫檢索裝置、數(shù)據(jù)庫裝置、數(shù)據(jù)庫構(gòu)筑方法、以及數(shù)據(jù)庫檢索方法
- 數(shù)據(jù)庫和數(shù)據(jù)庫處理方法
- 數(shù)據(jù)庫系統(tǒng)、數(shù)據(jù)庫更新方法、數(shù)據(jù)庫以及數(shù)據(jù)庫更新程序
- 容器數(shù)據(jù)庫
- 數(shù)據(jù)庫同步方法及數(shù)據(jù)庫
- 一種MongoDB數(shù)據(jù)庫對象復(fù)制延遲監(jiān)控方法和裝置
- 數(shù)據(jù)分布式存儲方法、裝置、電子設(shè)備及存儲介質(zhì)
- 數(shù)據(jù)庫語句執(zhí)行方法及裝置