溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

數(shù)據(jù)庫恢復(fù)技術(shù)的示例分析

發(fā)布時間:2021-07-27 13:02:51 來源:億速云 閱讀:382 作者:小新 欄目:MySQL數(shù)據(jù)庫

小編給大家分享一下數(shù)據(jù)庫恢復(fù)技術(shù)的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

數(shù)據(jù)庫恢復(fù)技術(shù)有:1、數(shù)據(jù)轉(zhuǎn)儲,即DBA定期將整個數(shù)據(jù)庫復(fù)制到磁帶或另一個磁盤上保存起來的過程。2、登記日志文件,日志文件是用來記錄事務(wù)對數(shù)據(jù)庫的更新操作的文件,設(shè)立日志文件可以進行事務(wù)故障恢復(fù)、系統(tǒng)故障恢復(fù)、協(xié)助后備副本進行介質(zhì)故障恢復(fù)。

本教程操作環(huán)境:windows7系統(tǒng)、mysql8版本、Dell G3電腦。

數(shù)據(jù)庫恢復(fù)概述

  數(shù)據(jù)庫管理系統(tǒng)必須具有把數(shù)據(jù)庫從某一錯誤狀態(tài)恢復(fù)到某一已知的正確狀態(tài)的功能,這就是數(shù)據(jù)庫的恢復(fù)?;謴?fù)子系統(tǒng)是數(shù)據(jù)庫管理系統(tǒng)的一個重要組成部分,而且還相當(dāng)龐大,常常占整個系統(tǒng)代碼的百分之十以上。數(shù)據(jù)庫系統(tǒng)采用的恢復(fù)技術(shù)是否行之有效,不僅對系統(tǒng)的可靠程度起著決定性作用,而且對系統(tǒng)的運行效率也有很大影響,是衡量系統(tǒng)性能優(yōu)劣的重要指標(biāo)。

<h梵蒂岡介質(zhì)故障

  系統(tǒng)故障稱為軟故障,介質(zhì)故障稱為硬故障。硬故障指外存故障,如磁盤損壞、磁頭碰撞、瞬時強磁場干擾等。這類故障將破壞數(shù)據(jù)庫或部分?jǐn)?shù)據(jù)庫,并影響正在存取這部分?jǐn)?shù)據(jù)的所有事務(wù)。

計算機病毒

  總結(jié)各類故障,對數(shù)據(jù)庫的影響有兩種可能性。一是數(shù)據(jù)庫本身被破壞。二是數(shù)據(jù)庫沒有被破壞,但數(shù)據(jù)可能不正確,這時由于事務(wù)的運行被非正常終止造成的。

恢復(fù)的實現(xiàn)技術(shù)

恢復(fù)機制涉及兩個關(guān)鍵問題:

1、如何建立冗余數(shù)據(jù);

2、如何利用這些冗余數(shù)據(jù)實施數(shù)據(jù)庫恢復(fù)。

建立冗余數(shù)據(jù)最常用的技術(shù)是數(shù)據(jù)轉(zhuǎn)儲和登記日志文件。通常在一個數(shù)據(jù)庫系統(tǒng)中,這兩種方法是一起使用的。

數(shù)據(jù)轉(zhuǎn)儲

數(shù)據(jù)轉(zhuǎn)儲是數(shù)據(jù)庫恢復(fù)中采用的基本技術(shù)。所謂轉(zhuǎn)儲即DBA定期將整個數(shù)據(jù)庫復(fù)制到磁帶或另一個磁盤上保存起來的過程。這些備用的數(shù)據(jù)成為后備副本或后援副本。

轉(zhuǎn)儲可以分為靜態(tài)轉(zhuǎn)儲和動態(tài)轉(zhuǎn)儲。

  • 靜態(tài)轉(zhuǎn)儲是在系統(tǒng)中無運行事務(wù)時進行的轉(zhuǎn)儲操作。即轉(zhuǎn)儲操作開始的時刻,數(shù)據(jù)庫處于一致性狀態(tài),而轉(zhuǎn)儲期間不允許對數(shù)據(jù)庫的任何存取、 修改活動。顯然,靜態(tài)轉(zhuǎn)儲得到的一定是一個數(shù)據(jù)一致性的副本。

  • 動態(tài)轉(zhuǎn)儲是指轉(zhuǎn)儲期間允許對數(shù)據(jù)庫進行存取或修改。但是,轉(zhuǎn)儲結(jié)束時后援副本上的數(shù)據(jù)并不能保證正確有效。為此,必須把轉(zhuǎn)儲期間各事務(wù)對數(shù)據(jù)庫的修改活動登記下來,建立日志文件,這樣,后援副本加上日志文件就能把數(shù)據(jù)庫恢復(fù)到某一時刻的正確狀態(tài)。

轉(zhuǎn)儲可以分為海量轉(zhuǎn)儲和增量轉(zhuǎn)儲兩種方式。海量轉(zhuǎn)儲是指每次轉(zhuǎn)儲全部數(shù)據(jù)庫。增量轉(zhuǎn)儲則指每次只轉(zhuǎn)儲上一次轉(zhuǎn)儲后更新過的數(shù)據(jù)。從恢復(fù)角度看,使用海量轉(zhuǎn)儲得到的后備副本進行恢復(fù)一般來說更方便一些。
數(shù)據(jù)轉(zhuǎn)儲方法可以分為四類:動態(tài)增量轉(zhuǎn)儲、動態(tài)海量轉(zhuǎn)儲、靜態(tài)增量轉(zhuǎn)儲、靜態(tài)海量轉(zhuǎn)儲。

登記日志文件

日志文件的格式和內(nèi)容

日志文件是用來記錄事務(wù)對數(shù)據(jù)庫的更新操作的文件。日志文件主要有兩種格式:以記錄為單位的日志文件和以數(shù)據(jù)塊為單位的日志文件。

以記錄為單位的日志文件,需要登記的內(nèi)容包括:

1、各個事務(wù)的開始標(biāo)記
2、各個事務(wù)的結(jié)束標(biāo)記
3、各個事務(wù)的所有更新操作

每個日志記錄的內(nèi)容包括:

1、事務(wù)標(biāo)識(標(biāo)明是哪個事務(wù))
2、操作的類型(插入、刪除或修改)
3、操作對象(記錄內(nèi)部標(biāo)識)
4、更新前數(shù)據(jù)的舊值
5、更新后數(shù)據(jù)的新值

日志文件的作用

日志文件在數(shù)據(jù)恢復(fù)中起著非常重要的作用??梢杂脕磉M行事務(wù)故障恢復(fù)和系統(tǒng)故障恢復(fù),并協(xié)助后備副本進行介質(zhì)故障恢復(fù)。

具體作用是:

1、事務(wù)故障恢復(fù)和系統(tǒng)故障恢復(fù)必須用日志文件

2、在動態(tài)轉(zhuǎn)儲方式必須建立日志文件,后備副本和日志文件結(jié)合起來才能有效地恢復(fù)數(shù)據(jù)庫。

3、在靜態(tài)轉(zhuǎn)儲方式中,也可以建立日志文件。

登記日志文件

為保證數(shù)據(jù)庫是可恢復(fù)的,登記日志文件時必須遵循兩條原則:
1.登記的次序嚴(yán)格按并發(fā)事務(wù)執(zhí)行的時間次序
2.必須先些日志文件,后寫數(shù)據(jù)庫。

恢復(fù)策略

事務(wù)故障的恢復(fù)

事務(wù)故障的恢復(fù)是由系統(tǒng)自動完成的,對用戶是透明的。系統(tǒng)的恢復(fù)步驟是:

1、反向掃描日志文件(即從最后向前掃描日志文件),查找該事務(wù)的更新操作。

2、對該事務(wù)的更新操作執(zhí)行逆操作。即將日志記錄中“更新前的值”寫入數(shù)據(jù)庫。這樣如果記錄中是插入操作,則相當(dāng)于做刪除操作;若記錄中是刪除操作,則做插入操作;若是修改操作,則相當(dāng)于修改求前值代替修改后值。

3、繼續(xù)反向掃描日志文件,查找該事務(wù)的其他更新操作,并做同樣處理。

4、如此處理下去,直至讀到此事務(wù)的開始標(biāo)記,事務(wù)故障恢復(fù)就完成了。

系統(tǒng)故障的恢復(fù)

事務(wù)故障的恢復(fù)是由系統(tǒng)自動完成的,對用戶是透明的。系統(tǒng)的恢復(fù)步驟是:

1、正向掃描日志文件,找出在故障發(fā)生前已經(jīng)提交的事務(wù),將其事務(wù)標(biāo)識記入重做隊列。同時找出故障發(fā)生時尚未完成的事務(wù),將其事務(wù)表示計入撤銷隊列。

2、對撤銷(UNDO)隊列中的各個事務(wù)進行撤銷處理。

進行UNDO處理的方法是,反向掃描日志文件,對每個UNDO事務(wù)的更新操作執(zhí)行逆操作,即將日志記錄中“更新前的值”寫入數(shù)據(jù)庫。

3、對重做隊列中的各個事務(wù)進行重做REDO處理

進行REDO處理的方法是:正向掃描日志文件,對每個REDO事務(wù)重新執(zhí)行日志文件登記的操作。即將日志記錄中“更新后的值”寫入數(shù)據(jù)庫。

介質(zhì)故障的恢復(fù)

恢復(fù)故障的方法是重裝數(shù)據(jù)庫,然后重做已完成的事務(wù)。

1、裝入最新的數(shù)據(jù)庫后備副本,是數(shù)據(jù)庫恢復(fù)到最近一次轉(zhuǎn)儲時的一致性狀態(tài)。

2、裝入相應(yīng)的日志文件副本,重做已完成的事務(wù)。即首先掃描日志文件,找出故障發(fā)生時已提交的事務(wù)的標(biāo)識,將其計入重做隊列。然后正向掃描日志文件,對重做隊列中的所有事務(wù)進行重做處理。即將日志記錄中“更新后的值”寫入數(shù)據(jù)庫。

介質(zhì)故障的恢復(fù)需要DBA介入。但DBA只需要重裝最近轉(zhuǎn)儲的數(shù)據(jù)庫副本和有關(guān)的各日志文件副本,然后秩序系統(tǒng)提供的恢復(fù)命令即可,具體的恢復(fù)操作仍有DBMS完成。

數(shù)據(jù)庫鏡像

  隨著磁盤容量越來越大,價格越來越便宜,為避免磁盤介質(zhì)出現(xiàn)故障影響數(shù)據(jù)庫的可用性,許多數(shù)據(jù)庫管理系統(tǒng)提供了數(shù)據(jù)經(jīng)銷功能用于數(shù)據(jù)庫恢復(fù)。根據(jù)DBA的要求,自動把整個數(shù)據(jù)庫或其中 的關(guān)鍵數(shù)據(jù)復(fù)制到另一個磁盤上。

  由于數(shù)據(jù)庫鏡像是通過復(fù)制數(shù)據(jù)實現(xiàn)的,頻繁地復(fù)制數(shù)據(jù)自然會降低系統(tǒng)運行效率,因此在時間應(yīng)用中用戶往往只選擇對關(guān)鍵數(shù)據(jù)和日志文件鏡像,而不是對整個數(shù)據(jù)庫進行鏡像。

以上是“數(shù)據(jù)庫恢復(fù)技術(shù)的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI