(数据库系统概论|王珊)第十章数据库恢复技术-第三节:故障种类
文章目錄
- 一:事務(wù)故障
- (1)事務(wù)故障概念
- (2)事務(wù)故障原因
- (3)事務(wù)故障恢復(fù)
- 二:系統(tǒng)故障
- (1)系統(tǒng)故障概念
- (2)系統(tǒng)故障的破壞性
- (3)系統(tǒng)故障恢復(fù)
- 三:介質(zhì)故障
- (1)介質(zhì)故障概念
- (2)介質(zhì)故障恢復(fù)
- 四:計算機病毒
數(shù)據(jù)庫系統(tǒng)中可能發(fā)生各種各樣的故障,主要有以下四類
- 事務(wù)故障
- 系統(tǒng)故障
- 介質(zhì)故障
- 計算機病毒
一:事務(wù)故障
(1)事務(wù)故障概念
事務(wù)故障:某個事務(wù)在運行過程中由于種種原因未運行至正常終止點就夭折了
(2)事務(wù)故障原因
事務(wù)故障出現(xiàn)的常見原因有
- 業(yè)務(wù)規(guī)則要求被終止
- 輸入數(shù)據(jù)有誤
- 運算溢出
- 違反了某些完整性限制
- 某些應(yīng)用程序出現(xiàn)錯誤
- 并行事務(wù)因發(fā)生死鎖而被系統(tǒng)選中結(jié)束運行
(3)事務(wù)故障恢復(fù)
事務(wù)故障意味著事務(wù)沒有達(dá)到預(yù)期的終點(COMMIT或者顯式的ROLLBACK),因此,數(shù)據(jù)庫可能處于不正確狀態(tài)。恢復(fù)程序要在不影響其他事務(wù)運行的情況下,強行回滾該事務(wù),即撤銷該事務(wù)已經(jīng)作出的任何對數(shù)據(jù)庫的修改,使得該事務(wù)好像根本沒有啟動一樣。這類恢復(fù)操作稱為事務(wù)撤銷(UNDO)
二:系統(tǒng)故障
(1)系統(tǒng)故障概念
系統(tǒng)故障:是指造成系統(tǒng)停止運轉(zhuǎn)的任何事件,使得系統(tǒng)需要重新啟動,例如:
- 硬件錯誤(CPU故障)
- 操作系統(tǒng)故障
- DBMS代碼錯誤
- 系統(tǒng)斷電
(2)系統(tǒng)故障的破壞性
發(fā)生系統(tǒng)故障將導(dǎo)致:
- 整個系統(tǒng)的正常運行突然被破壞
- 所有正在運行的事務(wù)都會非正常終止
- 內(nèi)存中數(shù)據(jù)庫緩沖區(qū)的信息全部丟失
- 外部存儲設(shè)備上的數(shù)據(jù)未受影響
(3)系統(tǒng)故障恢復(fù)
- 對于尚未完成的事務(wù):系統(tǒng)重新啟動后,恢復(fù)程序要執(zhí)行撤銷(UNDO)所有未完成事務(wù)
- 對于已經(jīng)完成的事務(wù):系統(tǒng)重新啟動后,恢復(fù)程序要執(zhí)行重做(REDO)所有已提交事務(wù)
三:介質(zhì)故障
(1)介質(zhì)故障概念
硬件故障會使存儲在外存中的數(shù)據(jù)部分丟失或全部丟失。介質(zhì)故障發(fā)生的可能性要小于前兩種故障,但是其破壞性卻很大
(2)介質(zhì)故障恢復(fù)
- 更換或自動切換磁介質(zhì)
- 裝入數(shù)據(jù)庫發(fā)生介質(zhì)故障前某個時刻的數(shù)據(jù)副本
- 重做(REDO)自此時始的所有成功事務(wù),將這些事務(wù)已提交的結(jié)果重新記入數(shù)據(jù)庫
四:計算機病毒
計算機病毒本身不屬于一種故障,但是它數(shù)據(jù)庫的破壞會表現(xiàn)為前面的故障
- 事務(wù)故障(軟故障,僅事務(wù)崩潰)
- 系統(tǒng)故障(軟故障,系統(tǒng)崩潰,需要重啟)
- 介質(zhì)故障(硬故障,數(shù)據(jù)庫文件被刪除)
總之,出現(xiàn)故障后,就要對數(shù)據(jù)庫進(jìn)行恢復(fù),恢復(fù)時需要利用到冗余數(shù)據(jù),或者說就是備份數(shù)據(jù)。冗余的數(shù)據(jù)包括
- 備份
- 日志
- 鏡像
總結(jié)
以上是生活随笔為你收集整理的(数据库系统概论|王珊)第十章数据库恢复技术-第三节:故障种类的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JAVA中“==”与equals()方法
- 下一篇: (王道408考研操作系统)第二章进程管理