1、四種故障
事務故障、系統故障、介質故障、電腦病毒
1、事務故障:事務內部故障可分為預期的和非預期的,其中大部分的故障都是非預期的。預期的事務內部故障是指可以透過事務程序本身發現的事務內部故障;非預期的事務內部故障是不能由事務程序處理的,如運算溢出故障、並發事務死鎖故障、違反了某些完整性限制而導致的故障等。
2、系統故障:系統故障也稱為軟故障,是指資料庫在運作過程中,由於硬體故障、資料庫軟體及作業系統的漏洞、突然停電燈情況,導致系統停止運轉,所有正在運作的事務以非正常方式終止,需要係統重新啟動的一類故障。這類事務不會破壞資料庫,但是影響正在運行的所有事務。
3、媒體故障:媒體故障也稱為硬故障,主要指資料庫在運作過程中,由於磁頭碰撞、磁碟損壞、強磁幹擾、天災人禍等情況,使得資料庫中的資料部分或全部遺失的一類故障。
4、電腦病毒故障:電腦病毒故障是一種惡意的電腦程序,它可以像病毒一樣繁殖和傳播,在對電腦系統造成破壞的同時也可能對資料庫系統造成破壞(破壞方式以資料庫檔案為主)。
2、解決方案
1、預期的事務內部故障:將事務回滾,撤銷資料庫的修改。
2、非預期的事務內部故障:強制回溯事務,在保證該事務對其他事務沒有影響的條件下,利用日誌檔案撤銷其對資料庫的修改。
3、系統故障:待電腦重新啟動之後,對於未完成的交易可能寫入資料庫的內容,回滾所有未完成的交易寫的結果;對於已完成的交易可能部分或全部留在緩衝區的結果,需要重做所有已提交的事務(即撤銷所有未提交的事務,重做所有已提交的事務)。
4、媒體故障的軟體容錯:使用資料庫備份及交易日誌文件,透過復原技術,將資料恢復到備份結束時的狀態。
5、媒體故障的硬體容錯:採用雙實體儲存設備,使兩個硬碟儲存內容相同,當其中一個硬碟故障時,及時使用另一個備份硬碟。
6、電腦病毒故障:使用防火牆軟體防止病毒侵入,對於已感染病毒的資料庫文件,使用防毒軟體進行查殺,如果防毒軟體防毒失敗,此時只能用資料庫備份文件,以軟體容錯的方式恢復資料庫檔案。
3、資料復原實作技術
資料庫復原的基本原理是冗餘,即利用儲存在系統其他地方的冗餘資料來重建資料庫中已被破壞的資料庫或不正確的那部分資料。
建立冗餘資料主要包括兩種方法:資料轉儲(Backup)和登記日誌(Logging)。
1、資料轉儲
由DBA定期將整個資料庫或資料庫中的部分資料複製到其他磁碟上保存起來,這些備份的資料檔案稱為後備副本或後援副本。
靜態轉儲:在系統中無事務運行時進行的轉儲操作,轉儲期間不允許有對資料庫的任何存取或修改活動。
動態轉儲:轉儲期間允許對資料庫進行存取或修改,即轉儲操作與使用者事務並發執行。
海量轉儲:每次轉儲全部資料庫。
增量轉儲:每次只轉儲上一次轉儲後更新過的資料。
2、登記日誌
登記日誌就是由系統自動記錄交易對資料庫的更新操作,日誌通常記錄在穩定記憶體中。
以記錄為單位的日誌檔案:
事務標識(標示為哪個事務)、操作類型(插入、刪除或修改)、操作物件(記錄內部識別碼)、更新前資料的舊值、更新後資料的新值
以資料區塊為單位的記錄檔:
事務識別、更新的資料區塊
登記日誌文件的原則:
(1)登記的次序嚴格依照平行事務的時間次序 點