計算機等級考試四級資料庫技術複習筆記 11

2021-12-30 05:58:21 字數 4510 閱讀 5749

第11章 故障管理11.1 事務

1、事務是資料庫的邏輯控制單位,是運算元據的乙個程式執行單元。

2、為了保證資料的完整性,要求資料庫系統維護事務具有如下性質:

(1) 原子性:事務是乙個不可分割的工作單位,事務中的操作要麼都做,要麼都不做;

(2) 一致性:事務執行的結果必須使資料庫從乙個一致的狀態變到另乙個一致的狀態;

(3) 隔離性:乙個事務內部的操作及使用的資料對於其他併發事務是隔離的;

(4) 持續性:乙個事務提交後,它對資料庫中資料的改變是永久性的,即使系統可能出現故障,也不會對其它執行的結果有任何影響。

11.2 故障的種類及解決方法

11.2.1 事務內部故障

1、預期的事務內部故障:

通過事務程式本身發現的事物內部故障,可以通過將事務回滾,撤銷其對資料庫的修改,從而使資料庫回到一致性的狀態;

2、非預期的事務內部故障:

(1)由於事務內部故障大部分屬於此類,所以事務故障僅限指此類故障;

(2)事務故障表明事務沒有提交或撤銷就結束了,因此資料庫可能處於不正確的狀態,因此,恢復事務必須強行回滾事務,在保證該事務對其他事務沒有影響的條件下,利用日誌檔案撤銷其對資料庫的修改,使資料庫恢復到該事務執行之前的效果;

(3)事務故障恢復是由系統自動完成的,對使用者是透明的。

11.2.2 系統故障(軟故障)

1、指資料庫在執行過程中,由於硬體故障、資料庫軟體及作業系統的漏洞、突然停電等情況,導致系統停止運轉,所有正在執行的事務以非正常方式終止,需要系統重新啟動的一類故障;

2、系統故障導致記憶體中的內容丟失,而在硬碟上的內容仍然完好;從而導致資料庫的資料可以處於不正確的狀態;

3、要消除這些事務對資料庫的影響,保證資料庫中資料的一致性,辦法就是在計算機系統重新啟動後,對於未完成的事務可能已經寫入資料庫的內容,回滾所有未完成的事務寫的結果,以保證資料庫中資料的一致性;對於已完成的事務可能部分或全部留在快取區的結果,需要重做所有已提交的事務,以將資料庫真正恢復到一致狀態。

4、一句話,當資料庫發生系統故障時,容錯對策是在重新啟動系統後,撤銷(undo)所有未提交的事務,重做(redo)所有已提交的事務。

11.2.3 介質故障(硬故障)1、指資料庫在執行過程中,由於磁碟損壞、天災****等情況,使用資料庫中的資料部分或全部丟失的一類故障;

2、介質故障的容錯對策採用兩種方式:

(1)軟體容錯:

是使用資料庫備份及事務日誌檔案,通過恢復技術,恢復資料庫到備份結束時的狀態;

(2)硬體容錯:

目前常用的方法是採用雙物理儲存裝置,最完全的方式是設計兩套相同的資料庫系統同時工作,資料的變化也同步,空間有一定距離,這樣當發生損壞性的自然現象時,由於兩套資料庫系統具有空間距離,因此同時發生破壞的概率幾乎為零,達到資料庫的完全安全。

11.2.4 計算機病毒故障

1、計算機病毒是一種惡意的電腦程式,在對計算機系統造成破壞的同時也可對資料庫系統造成破壞(主要破壞資料庫檔案);

2、可以通過設立防火牆預防,防毒軟體查殺已感染的檔案和資料庫備份來解決;

11.3 資料庫恢復技術概述

1、 恢復機制涉及兩個關鍵問題:

(1) 如何建立冗餘資料;

(2) 如何利用這些冗餘資料實施資料庫恢復。

2、 最常用的建立冗餘資料技術是資料備份和登入日誌檔案,他們通常是結合起來使用的。

11.4 資料轉儲

1、 資料轉儲—指資料庫管理員(dba)定期拷貝資料庫,並將拷貝得到的資料庫放到其他介質中的過程。

2、 dba可在資料庫系統發生故障後,利用這些副本恢復資料庫,但此時恢復的資料庫只能回到轉儲時的狀態,要想恢復到故障前的狀態,需要參考日誌檔案,重新執行轉儲後到故障前的所有事務才可以;

3、 靜態轉儲和動態轉儲

(1) 靜態轉儲:在靜態轉儲過程中系統不能執行其他事務,不允許在轉儲期間對資料庫的任何訪問、修改活動。

(2) 動態轉儲:允許轉儲操作和使用者事務併發執行;

(3) 靜態轉儲雖然保證了資料的有效性,但卻是以降低資料庫的可用性為代價;而動態轉儲雖然提高了資料庫的可用性,但資料庫的有效性卻得不到保證。

(4) 為了能保證資料的有效性,而又不降低可用性,就需要引入日誌檔案,用它記錄轉儲期間各事務對資料庫的修改活動,然後使用動態轉儲的備份副本加上日誌檔案就可將資料庫恢復到某一時刻的正確狀態。

3、 幾種資料轉儲機制

(1) 完全轉儲:對所有資料庫進行備份,需占用較多時間和空間,可作為系統失敗時恢復資料庫的基礎;

(2) 增量轉儲:只複製上次備份後變化的檔案;

(3) 差量轉儲:對最近一次資料庫完全備份以來發生的資料變化進行備份,優點是速度快,占用較少的時間和空間。

4、 多種轉儲方法結合使用

(1) 僅採用完全轉儲;

(2) 完全轉儲加增量轉儲;

(3) 完全轉儲加差量轉儲

11.5 登記日誌檔案11.5.1 日誌檔案的格式和內容

日誌檔案是記錄每個事務對資料庫更新操作的檔案,資料庫系統在執行過程中,dbms負責將所有事務的更新操作登記到日誌檔案中,也就是說日誌檔案是系統自動維護的。

1、以記錄為單位的日誌檔案:其內容包括每個事務的開始標記、結束標記和所有更新操作;每個日誌記錄的內容包括:事務標識、操作型別、操作物件、更新前資料的舊值,和更新後資料的新值;

2、資料塊為單位的日誌檔案:將更新前的整個資料塊和更新後的整個資料塊全部放在了日誌檔案中;

11.5.2 日誌檔案的作用

1、事務故障恢復和系統故障恢復必須使用日誌檔案

(1)故障恢復的兩個基本操作:undo和redo

(a) undo的作用是撤銷事務,具體步驟:

(a) 反向掃瞄日誌檔案,找到需要撤銷的事務的更新操作;

(b) 對事務的更新操作執行逆操作;

(c) 繼續反向查詢該事務的其他更新操作,並執行相應的逆操作;

(d) 重複執行步驟(c),直至遇到該事務開始記錄。

(b) redo的作用是重做事務,具體步驟:

(a) 正向掃瞄日誌檔案,找到需要重做的事務的更新操作;

(b) 對事務重新執行日誌檔案登記的操作,即將日誌檔案中「更新後的值」寫入資料庫;

(c) 繼續正向查詢該事務的其他更新操作,並重新執行,將日誌檔案中「更新後的值」寫入資料庫;

(d) 重複執行步驟(c),直至遇到該事務的提交記錄。

(1) 事務故障恢復:只需把相應的事務作撤銷undo即可;

(2) 系統故障恢復:

(a) 正向掃瞄日誌檔案,找到系統故障前發生的所有事務,如果該事務沒有完成,將其事務標記加入撤銷佇列,如果該事務已經完成,則將其事務標記加入重做佇列;

(b) 對撤銷佇列中的所有事務作撤銷操作undo;

(c) 對重做佇列中的所有事務作重做操作redo。

2、在動態轉儲方式中必須建立日誌檔案

1、 在靜態轉儲方式中,也可以建立日誌檔案

11.5.3 登記日誌檔案的原則

1、 登記的次序嚴格按並行事務執行的時間次序;

2、 必須先寫日誌檔案,後寫資料庫

11.6 具有檢查點的恢復技術

11.6.1 檢查點的作用

檢查點最大限度地減少資料庫完全恢復時所必須執行的日誌部分;

11.6.2 檢查點的引入

1、在日誌檔案中增加一類新的記錄—檢查點記錄,增加乙個「重新開始檔案」,並讓恢復子系統在登入日誌檔案期間動態地維護日誌

2、檢查點記錄的內容:

(1) 建立檢查點時刻所有正在執行的事務清單;

(2) 這些事務最近乙個日誌記錄的位址。

3、「重新開始檔案」用來記錄各個檢查點在日誌檔案中的位址;

2、 動態維護日誌檔案的方法是周期性地執行如下操作:建立檢查點、儲存資料庫狀態,具體步驟:

(1) 將當前日誌緩衝中的所有日誌記錄寫入磁碟的日誌檔案上;

(2) 在日誌檔案中寫入乙個檢查點記錄;

(3) 將當前資料緩衝的所有資料記錄寫入磁碟的資料庫中;

(4) 把檢查點記錄在日誌檔案中的位址寫入乙個「重新開始檔案」;

3、 恢復子系統可以定期或不定期地建立檢查點來儲存資料庫狀態;

4、 使用檢查點方法可以改善恢復效率,事務在檢查點前已經提交,則不必執行redo操作。

11.6.3 恢復的步驟1、 從「重新開始檔案」中找到最後乙個檢查點記錄在日誌檔案中的位址,由該位址在日誌檔案中找到最後乙個檢查點記錄;

2、 由該檢查點記錄得到檢查點建立時刻所正在執行的事務清單,需要執行undo操作的事務建立undo佇列,需要執行redo操作的事務建立redo佇列;

3、 從檢查點開始正向掃瞄日誌檔案,如有新開始的事務,則放入undo佇列,如有提交事務,則放入redo佇列;

4、 對undo

計算機等級考試四級資料庫技術複習筆記 6

第六章 儲存技術與資料庫物理設計6.1 檔案組織 6.1.1 資料庫的物理結構 1 資料庫中的應用資料是以檔案形式儲存在外存上的,檔案在邏輯上被組織成記錄的序列,即每個db檔案可看作是邏輯記錄的集合 2 乙個檔案在磁碟上占有一定的物理儲存空間,檔案中的每個邏輯記錄被對映儲存到某個特定的磁碟塊上,乙個...

2023年計算機等級考試四級資料庫技術(10)

13.1 儲存過程 13.1.1 儲存過程基本概念 1 在關聯式資料庫中,sql語言是應用程式和資料庫管理之間的主要程式設計介面 2 使用sql語言編寫 時,可用兩種方法儲存和執行 1 在客戶端儲存 並建立向資料庫管理系統傳送sql命令,並處理返回結果的應用程式 2 將這些傳送的sql語句儲存在資料...

2023年計算機等級考試四級資料庫技術(3)

是在資料庫級別上定義,使用者不能新增 刪除或更改固定的伺服器角色。使用者的登入賬戶可以新增到固定的資料庫角色中,使其成為成員,從而具有資料庫角色的許可權。固定的資料庫角色 描述db owner 在資料庫中擁有全部許可權 db accessadmin 可以新增或刪除使用者id db securitya...