第11章 故障管理
11.1 事務(wù)
1、事務(wù)是數(shù)據(jù)庫的邏輯控制單位,是操作數(shù)據(jù)的一個(gè)程序執(zhí)行單元。
2、為了保證數(shù)據(jù)的完整性,要求數(shù)據(jù)庫系統(tǒng)維護(hù)事務(wù)具有如下性質(zhì):
(1) 原子性:事務(wù)是一個(gè)不可分割的工作單位,事務(wù)中的操作要么都做,要么都不做;
(2) 一致性:事務(wù)執(zhí)行的結(jié)果必須使數(shù)據(jù)庫從一個(gè)一致的狀態(tài)變到另一個(gè)一致的狀態(tài);
(3) 隔離性:一個(gè)事務(wù)內(nèi)部的操作及使用的數(shù)據(jù)對(duì)于其他并發(fā)事務(wù)是隔離的;
(4) 持續(xù)性:一個(gè)事務(wù)提交后,它對(duì)數(shù)據(jù)庫中數(shù)據(jù)的改變是永久性的,即使系統(tǒng)可能出現(xiàn)故障,也不會(huì)對(duì)其它執(zhí)行的結(jié)果有任何影響。
11.2 故障的種類及解決方法
11.2.1 事務(wù)內(nèi)部故障
1、預(yù)期的事務(wù)內(nèi)部故障:
通過事務(wù)程序本身發(fā)現(xiàn)的事物內(nèi)部故障,可以通過將事務(wù)回滾,撤銷其對(duì)數(shù)據(jù)庫的修改,從而使數(shù)據(jù)庫回到一致性的狀態(tài);
2、非預(yù)期的事務(wù)內(nèi)部故障:
(1)由于事務(wù)內(nèi)部故障大部分屬于此類,所以事務(wù)故障僅限指此類故障;
(2)事務(wù)故障表明事務(wù)沒有提交或撤銷就結(jié)束了,因此數(shù)據(jù)庫可能處于不正確的狀態(tài),因此,恢復(fù)事務(wù)必須強(qiáng)行回滾事務(wù),在保證該事務(wù)對(duì)其他事務(wù)沒有影響的條件下,利用日志文件撤銷其對(duì)數(shù)據(jù)庫的修改,使數(shù)據(jù)庫恢復(fù)到該事務(wù)運(yùn)行之前的效果;
(3)事務(wù)故障恢復(fù)是由系統(tǒng)自動(dòng)完成的,對(duì)用戶是透明的。
11.2.2 系統(tǒng)故障(軟故障)
1、指數(shù)據(jù)庫在運(yùn)行過程中,由于硬件故障、數(shù)據(jù)庫軟件及操作系統(tǒng)的漏洞、突然停電等情況,導(dǎo)致系統(tǒng)停止運(yùn)轉(zhuǎn),所有正在運(yùn)行的事務(wù)以非正常方式終止,需要系統(tǒng)重新啟動(dòng)的一類故障;
2、系統(tǒng)故障導(dǎo)致內(nèi)存中的內(nèi)容丟失,而在硬盤上的內(nèi)容仍然完好;從而導(dǎo)致數(shù)據(jù)庫的數(shù)據(jù)可以處于不正確的狀態(tài);
3、要消除這些事務(wù)對(duì)數(shù)據(jù)庫的影響,保證數(shù)據(jù)庫中數(shù)據(jù)的一致性,辦法就是在計(jì)算機(jī)系統(tǒng)重新啟動(dòng)后,對(duì)于未完成的事務(wù)可能已經(jīng)寫入數(shù)據(jù)庫的內(nèi)容,回滾所有未完成的事務(wù)寫的結(jié)果,以保證數(shù)據(jù)庫中數(shù)據(jù)的一致性;對(duì)于已完成的事務(wù)可能部分或全部留在緩存區(qū)的結(jié)果,需要重做所有已提交的事務(wù),以將數(shù)據(jù)庫真正恢復(fù)到一致狀態(tài)。
4、一句話,當(dāng)數(shù)據(jù)庫發(fā)生系統(tǒng)故障時(shí),容錯(cuò)對(duì)策是在重新啟動(dòng)系統(tǒng)后,撤銷(UNDO)所有未提交的事務(wù),重做(REDO)所有已提交的事務(wù)。
11.2.3 介質(zhì)故障(硬故障)
1、指數(shù)據(jù)庫在運(yùn)行過程中,由于磁盤損壞、天災(zāi)****等情況,使用數(shù)據(jù)庫中的數(shù)據(jù)部分或全部丟失的一類故障;
2、介質(zhì)故障的容錯(cuò)對(duì)策采用兩種方式:
(1)軟件容錯(cuò):
是使用數(shù)據(jù)庫備份及事務(wù)日志文件,通過恢復(fù)技術(shù),恢復(fù)數(shù)據(jù)庫到備份結(jié)束時(shí)的狀態(tài);
(2)硬件容錯(cuò):
目前常用的方法是采用雙物理存儲(chǔ)設(shè)備,最完全的方式是設(shè)計(jì)兩套相同的數(shù)據(jù)庫系統(tǒng)同時(shí)工作,數(shù)據(jù)的變化也同步,空間有一定距離,這樣當(dāng)發(fā)生損壞性的自然現(xiàn)象時(shí),由于兩套數(shù)據(jù)庫系統(tǒng)具有空間距離,因此同時(shí)發(fā)生破壞的概率幾乎為零,達(dá)到數(shù)據(jù)庫的完全安全。
11.2.4 計(jì)算機(jī)病毒故障
1、計(jì)算機(jī)病毒是一種惡意的計(jì)算機(jī)程序,在對(duì)計(jì)算機(jī)系統(tǒng)造成破壞的同時(shí)也可對(duì)數(shù)據(jù)庫系統(tǒng)造成破壞(主要破壞數(shù)據(jù)庫文件);
2、可以通過設(shè)立防火墻預(yù)防,殺毒軟件查殺已感染的文件和數(shù)據(jù)庫備份來解決;
11.3 數(shù)據(jù)庫恢復(fù)技術(shù)概述
1、 恢復(fù)機(jī)制涉及兩個(gè)關(guān)鍵問題:
(1) 如何建立冗余數(shù)據(jù);
(2) 如何利用這些冗余數(shù)據(jù)實(shí)施數(shù)據(jù)庫恢復(fù)。
2、 最常用的建立冗余數(shù)據(jù)技術(shù)是數(shù)據(jù)備份和登錄日志文件,他們通常是結(jié)合起來使用的。
相關(guān)推薦:2010年9月計(jì)算機(jī)等級(jí)考試精華備考資料匯總北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |