第11章 故障管理
11.1 事務
1、事務是數(shù)據(jù)庫的邏輯控制單位,是操作數(shù)據(jù)的一個程序執(zhí)行單元。
2、為了保證數(shù)據(jù)的完整性,要求數(shù)據(jù)庫系統(tǒng)維護事務具有如下性質:
(1) 原子性:事務是一個不可分割的工作單位,事務中的操作要么都做,要么都不做;
(2) 一致性:事務執(zhí)行的結果必須使數(shù)據(jù)庫從一個一致的狀態(tài)變到另一個一致的狀態(tài);
(3) 隔離性:一個事務內部的操作及使用的數(shù)據(jù)對于其他并發(fā)事務是隔離的;
(4) 持續(xù)性:一個事務提交后,它對數(shù)據(jù)庫中數(shù)據(jù)的改變是永久性的,即使系統(tǒng)可能出現(xiàn)故障,也不會對其它執(zhí)行的結果有任何影響。
11.2 故障的種類及解決方法
11.2.1 事務內部故障
1、預期的事務內部故障:
通過事務程序本身發(fā)現(xiàn)的事物內部故障,可以通過將事務回滾,撤銷其對數(shù)據(jù)庫的修改,從而使數(shù)據(jù)庫回到一致性的狀態(tài);
2、非預期的事務內部故障:
(1)由于事務內部故障大部分屬于此類,所以事務故障僅限指此類故障;
(2)事務故障表明事務沒有提交或撤銷就結束了,因此數(shù)據(jù)庫可能處于不正確的狀態(tài),因此,恢復事務必須強行回滾事務,在保證該事務對其他事務沒有影響的條件下,利用日志文件撤銷其對數(shù)據(jù)庫的修改,使數(shù)據(jù)庫恢復到該事務運行之前的效果;
(3)事務故障恢復是由系統(tǒng)自動完成的,對用戶是透明的。
11.2.2 系統(tǒng)故障(軟故障)
1、指數(shù)據(jù)庫在運行過程中,由于硬件故障、數(shù)據(jù)庫軟件及操作系統(tǒng)的漏洞、突然停電等情況,導致系統(tǒng)停止運轉,所有正在運行的事務以非正常方式終止,需要系統(tǒng)重新啟動的一類故障;
2、系統(tǒng)故障導致內存中的內容丟失,而在硬盤上的內容仍然完好;從而導致數(shù)據(jù)庫的數(shù)據(jù)可以處于不正確的狀態(tài);
3、要消除這些事務對數(shù)據(jù)庫的影響,保證數(shù)據(jù)庫中數(shù)據(jù)的一致性,辦法就是在計算機系統(tǒng)重新啟動后,對于未完成的事務可能已經(jīng)寫入數(shù)據(jù)庫的內容,回滾所有未完成的事務寫的結果,以保證數(shù)據(jù)庫中數(shù)據(jù)的一致性;對于已完成的事務可能部分或全部留在緩存區(qū)的結果,需要重做所有已提交的事務,以將數(shù)據(jù)庫真正恢復到一致狀態(tài)。
4、一句話,當數(shù)據(jù)庫發(fā)生系統(tǒng)故障時,容錯對策是在重新啟動系統(tǒng)后,撤銷(UNDO)所有未提交的事務,重做(REDO)所有已提交的事務。
相關推薦:2010年9月計算機等級考試試題及答案解析專題北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |