資料庫原理的十章知識點

2021-10-08 23:08:07 字數 1946 閱讀 3388

事務( transaction)是使用者定義的乙個資料庫操作序列這些操作要麼全做,要麼全不做,是乙個不可分割的工作單位。

事務是恢復和併發控制的基本單位

隱式定義方式——當使用者沒有顯式地定義事務時,資料庫管理系統按預設規定自動劃分事務

故障是不可避免的,故障會造成執行事務非正常中斷,影響資料庫中資料的正確性,破壞資料庫,全部或部分丟失資料

資料庫管理系統必須具有把資料庫從錯誤狀態恢復到某已知的正確狀態(亦稱為一致狀態或完整狀態)的功能,這就是資料庫的恢復管理系統對故障的對策

事務內部故障

系統故障

介質故障

計算機病毒

事務內部更多的故障是非預期的,是不能由應用程式處理的。如運算溢位,併發事務發生死鎖而被選中撤銷該事務等

影響:

恢復手段:事務撤消(undo)

稱為軟故障,是指造成系統停止運轉的任何事件,使得系統要重新啟動,如作業系統故障,系統斷電等

影響:

恢復手段:

稱為硬故障,指外存故障,如磁碟損壞,磁頭碰撞等

影響:計算機病毒已成為計算機系統的主要威脅,自然也是資料庫系統的主要威脅,資料庫一旦被破壞仍要用恢復技術把資料庫加以恢復

資料庫管理員定期地將整個資料庫複製到磁帶、磁碟或其他儲存介質上儲存起來的過程

每次轉儲全部資料庫增量轉儲

從恢復角度看,使用海量轉儲得到的後備副本進行恢復往往更方便

只轉儲上次轉儲後更新過的資料海量轉儲與增量轉儲比較

如果資料庫很大,事務處理又十分頻繁,增量轉儲方式更實用更有效

日誌檔案( log file)是用來記錄事務對資料庫的更新操作的檔案

以資料塊為單位的日誌檔案

事務故障:事務在執行至正常終止點前被終止

由恢復子系統利用日誌檔案撤消(undo)此事務已對資料庫進行的修改

事務故障的恢復由系統自動完成,對使用者是透明的,不需要使用者干預

undo故障發生時未完成的事務

redo已完成的事務

系統故障的恢復由系統在重新啟動時自動完成,不需要使用者干預

重灌資料庫

重做已完成的事務

介質故障的恢復需要資料庫管理員介入資料庫管理員的工作:

重灌最近轉儲的資料庫副本和有關的各日誌檔案副本

執行系統提供的恢復命令

周期性地執行如下操作:

儲存資料庫狀態。

記錄各個檢查點記錄在日誌檔案中的位址

從重新開始檔案中找到最後乙個檢查點記錄在日誌檔案中的位址,由該位址在日誌檔案中找到最後乙個檢查點記錄

由該檢查點記錄得到檢查點建立時刻所有正在執行的事務清單 active-list,建立兩個事務佇列:undo-list和redo-list,把 active-list暫時放入und-list佇列,redo佇列暫為空。

從檢查點開始正向掃瞄日誌檔案,直到日誌檔案結束,如有新開始的事務t,把t暫時放入 undo-list佇列,如有提交的事務t,把t從 undo-list佇列移到redo-lst佇列;直到日誌檔案結束

對 undo-list中的每個事務執行undo操作對 redo-list中的每個事務執行redo操作

介質故障是對系統影響最為嚴重的一種故障,嚴重影響資料庫的可用性

介質故障恢復比較費時,為預防介質故障,資料庫管理員必須周期性地轉儲資料庫

因為頻繁地複製資料自然會降低系統執行效率,在實際應用中使用者往往只選擇對關鍵資料和日誌檔案映象。而不是對整個資料庫進行映象

可由映象磁碟繼續提供使用,同時資料庫管理系統自動利用映象磁碟資料進行資料庫的恢復,不需要關閉系統和重灌資料庫副本

可用於併發操作個使用者對資料加排他鎖修改資料,其他使用者可以讀映象資料庫上的資料,而不必等待該使用者釋放鎖

資料庫原理第五章知識點

資料的完整性 阻止合法使用者通過合法操作向資料庫中加入不正確的資料 資料的安全性 防範非法使用者和非法操作訪問資料庫中的正確資料 提供定義完整性約束條件的機制 提供完整性檢查機制 違約處理 主碼值獨一且不能為空 在create table中用primary key定義 單屬性構成的碼兩種說明方法 定...

資料庫原理第十章 資料庫恢復技術

事務 所謂事務是使用者定義的乙個資料庫操作序列,這些操作要麼全做,要麼不做,是乙個不可分割的工作單位。事務的開始和結束可以由使用者顯示控制。如果使用者沒有顯示定義事務,則由資料庫管理系統按預設規定自動劃分事務。在sql中定義事務的語句一般有以下三條 開啟事務 begin transaction 事務...

資料庫原理 基礎知識點

基本概念 1 資料庫定義為關聯記錄的自描述集合 2 關於資料庫結構的資料稱為元資料。表名 列名和列所屬的表 表和列的屬性等都是元資料 3 資料庫系統四個組成部分 使用者 資料庫應用程式 資料庫管理系統 dbms 和資料庫 4 sql 結構化查詢語言,是處理關聯式資料庫中表的國際語言 5 鍵 標識表中...