華科數(shù)據(jù)庫課件_第1頁
華科數(shù)據(jù)庫課件_第2頁
華科數(shù)據(jù)庫課件_第3頁
華科數(shù)據(jù)庫課件_第4頁
華科數(shù)據(jù)庫課件_第5頁
已閱讀5頁,還剩259頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

數(shù)據(jù)庫技術(shù)與應(yīng)用1第三篇系統(tǒng)篇第十章數(shù)據(jù)庫恢復(fù)技術(shù)第十一章并發(fā)控制第四章數(shù)據(jù)庫安全性第五章數(shù)據(jù)庫完整性數(shù)據(jù)庫技術(shù)與應(yīng)用1第三篇系統(tǒng)篇數(shù)據(jù)庫技術(shù)與應(yīng)用2第十章數(shù)據(jù)庫恢復(fù)技術(shù)10.1事務(wù)的基本概念10.2數(shù)據(jù)庫恢復(fù)概述10.3故障的種類10.4恢復(fù)的實現(xiàn)技術(shù)10.5恢復(fù)策略10.6具有檢查點的恢復(fù)技術(shù)10.7數(shù)據(jù)庫鏡像10.8Oracle的恢復(fù)技術(shù)10.9小結(jié)數(shù)據(jù)庫技術(shù)與應(yīng)用2第十章數(shù)據(jù)庫數(shù)據(jù)庫技術(shù)與應(yīng)用3銀行轉(zhuǎn)帳銀行轉(zhuǎn)帳:張三從帳號A中取出一萬元,存入帳號B。第一步:A賬號扣減1萬元;第二步:B賬號增加1萬元;問題:第一步完成后,突然停電,怎么辦?1萬元消失了,找誰去喊冤?

A=A-1BB=B+1A數(shù)據(jù)庫技術(shù)與應(yīng)用3銀行轉(zhuǎn)帳銀行轉(zhuǎn)帳數(shù)據(jù)庫技術(shù)與應(yīng)用4最后賬上只有14萬!蒼天呀!大地呀!同時,老婆在商場逛街,消費了2萬元

讀A=余額16萬

14萬←16萬–2萬寫回數(shù)據(jù)庫A=14張三辛苦打工,掙了3萬元,存入銀行;①A=余額16萬

③19萬←16萬+3萬

寫入數(shù)據(jù)庫A=19

④張三老婆張三數(shù)據(jù)庫技術(shù)與應(yīng)用4最后賬上只有14數(shù)據(jù)庫技術(shù)與應(yīng)用510.1事務(wù)的基本概念一、什么是事務(wù)二、如何定義事務(wù)三、事務(wù)的特性數(shù)據(jù)庫技術(shù)與應(yīng)用510.1事務(wù)數(shù)據(jù)庫技術(shù)與應(yīng)用6一、什么是事務(wù)事務(wù)(Transaction)是用戶定義的一個數(shù)據(jù)庫操作序列,這些操作要么全做,要么全不做,是一個不可分割的工作單位事務(wù)和程序是兩個概念在關(guān)系數(shù)據(jù)庫中,一個事務(wù)可以是一條SQL語句,一組SQL語句或整個程序一個應(yīng)用程序通常包含多個事務(wù)事務(wù)是恢復(fù)和并發(fā)控制的基本單位數(shù)據(jù)庫技術(shù)與應(yīng)用6一、什么是事務(wù)事數(shù)據(jù)庫技術(shù)與應(yīng)用7二、如何定義事務(wù)顯式定義方式

BEGINTRANSACTIONBEGINTRANSACTIONSQL語句1SQL語句1

SQL語句2SQL語句2

。。。。。。。。。。

COMMITROLLBACK隱式方式當(dāng)用戶沒有顯式地定義事務(wù)時,DBMS按缺省規(guī)定自動劃分事務(wù)數(shù)據(jù)庫技術(shù)與應(yīng)用7二、如何定義事務(wù)數(shù)據(jù)庫技術(shù)與應(yīng)用8事務(wù)結(jié)束COMMIT事務(wù)正常結(jié)束提交事務(wù)的所有操作(讀+更新)事務(wù)中所有對數(shù)據(jù)庫的更新永久生效ROLLBACK事務(wù)異常終止事務(wù)運行的過程中發(fā)生了故障,不能繼續(xù)執(zhí)行回滾事務(wù)的所有更新操作事務(wù)滾回到開始時的狀態(tài)數(shù)據(jù)庫技術(shù)與應(yīng)用8事務(wù)結(jié)束COMM數(shù)據(jù)庫技術(shù)與應(yīng)用9三、事務(wù)的特性(ACID特性)事務(wù)的ACID特性:原子性(Atomicity)一致性(Consistency)隔離性(Isolation)持續(xù)性(Durability)數(shù)據(jù)庫技術(shù)與應(yīng)用9三、事務(wù)的特性(數(shù)據(jù)庫技術(shù)與應(yīng)用101.原子性(Atomicity)事務(wù)是數(shù)據(jù)庫的邏輯工作單位事務(wù)中包括的諸操作要么都做,要么都不做數(shù)據(jù)庫技術(shù)與應(yīng)用101.原子性(數(shù)據(jù)庫技術(shù)與應(yīng)用112.一致性(Consistency)事務(wù)執(zhí)行的結(jié)果必須是使數(shù)據(jù)庫從一個一致性狀態(tài)變到另一個一致性狀態(tài)一致性狀態(tài):數(shù)據(jù)庫中只包含成功事務(wù)提交的結(jié)果不一致狀態(tài):數(shù)據(jù)庫中包含失敗事務(wù)的結(jié)果數(shù)據(jù)庫技術(shù)與應(yīng)用112.一致性(數(shù)據(jù)庫技術(shù)與應(yīng)用12一致性與原子性銀行轉(zhuǎn)帳:從帳號A中取出一萬元,存入帳號B。定義一個事務(wù),該事務(wù)包括兩個操作這兩個操作要么全做,要么全不做全做或者全不做,數(shù)據(jù)庫都處于一致性狀態(tài)。如果只做一個操作,數(shù)據(jù)庫就處于不一致性狀態(tài)。

B=B+1

A=A-1BA數(shù)據(jù)庫技術(shù)與應(yīng)用12一致性與原子性數(shù)據(jù)庫技術(shù)與應(yīng)用133.隔離性(Isolation)對并發(fā)執(zhí)行而言一個事務(wù)的執(zhí)行不能被其他事務(wù)干擾一個事務(wù)內(nèi)部的操作及使用的數(shù)據(jù)對其他并發(fā)事務(wù)是隔離的并發(fā)執(zhí)行的各個事務(wù)之間不能互相干擾數(shù)據(jù)庫技術(shù)與應(yīng)用133.隔離性(數(shù)據(jù)庫技術(shù)與應(yīng)用14T1的修改被T2覆蓋了!

讀A=16

A←A-3寫回A=13①讀A=16

③A←A-1

寫回A=15

④T2T1數(shù)據(jù)庫技術(shù)與應(yīng)用14T1的修改被T數(shù)據(jù)庫技術(shù)與應(yīng)用154.持續(xù)性(Durability)持續(xù)性也稱永久性(Permanence)一個事務(wù)一旦提交,它對數(shù)據(jù)庫中數(shù)據(jù)的改變就應(yīng)該是永久性的。接下來的其他操作或故障不應(yīng)該對其執(zhí)行結(jié)果有任何影響。數(shù)據(jù)庫技術(shù)與應(yīng)用154.持續(xù)性(數(shù)據(jù)庫技術(shù)與應(yīng)用16事務(wù)的特性保證事務(wù)ACID特性是事務(wù)處理的任務(wù)破壞事務(wù)ACID特性的因素多個事務(wù)并行運行時,不同事務(wù)的操作交叉執(zhí)行事務(wù)在運行過程中被強行停止數(shù)據(jù)庫技術(shù)與應(yīng)用16事務(wù)的特性保數(shù)據(jù)庫技術(shù)與應(yīng)用17第十章數(shù)據(jù)庫恢復(fù)技術(shù)10.1事務(wù)的基本概念10.2數(shù)據(jù)庫恢復(fù)概述10.3故障的種類10.4恢復(fù)的實現(xiàn)技術(shù)10.5恢復(fù)策略10.6具有檢查點的恢復(fù)技術(shù)10.7數(shù)據(jù)庫鏡像10.8Oracle的恢復(fù)技術(shù)10.9小結(jié)數(shù)據(jù)庫技術(shù)與應(yīng)用17第十章數(shù)據(jù)數(shù)據(jù)庫技術(shù)與應(yīng)用1810.2數(shù)據(jù)庫恢復(fù)概述故障是不可避免的計算機硬件故障系統(tǒng)軟件和應(yīng)用軟件的錯誤操作員的失誤惡意的破壞故障的影響運行事務(wù)非正常中斷破壞數(shù)據(jù)庫數(shù)據(jù)庫技術(shù)與應(yīng)用1810.2數(shù)數(shù)據(jù)庫技術(shù)與應(yīng)用19第十章數(shù)據(jù)庫恢復(fù)技術(shù)10.1事務(wù)的基本概念10.2數(shù)據(jù)庫恢復(fù)概述10.3故障的種類10.4恢復(fù)的實現(xiàn)技術(shù)10.5恢復(fù)策略10.6具有檢查點的恢復(fù)技術(shù)10.7數(shù)據(jù)庫鏡像10.8Oracle的恢復(fù)技術(shù)10.9小結(jié)數(shù)據(jù)庫技術(shù)與應(yīng)用19第十章數(shù)據(jù)數(shù)據(jù)庫技術(shù)與應(yīng)用20一、事務(wù)故障什么是事務(wù)故障某個事務(wù)在運行過程中由于種種原因未運行至正常終止點就夭折了事務(wù)故障的常見原因輸入數(shù)據(jù)有誤運算溢出違反了某些完整性限制某些應(yīng)用程序出錯并行事務(wù)發(fā)生死鎖…數(shù)據(jù)庫技術(shù)與應(yīng)用20一、事務(wù)故障什數(shù)據(jù)庫技術(shù)與應(yīng)用21事務(wù)故障的恢復(fù)發(fā)生事務(wù)故障時,夭折的事務(wù)可能已把對數(shù)據(jù)庫的部分修改寫回磁盤事務(wù)故障的恢復(fù):撤消事務(wù)(UNDO)強行回滾(ROLLBACK)該事務(wù)清除該事務(wù)對數(shù)據(jù)庫的所有修改,使得這個事務(wù)象根本沒有啟動過一樣數(shù)據(jù)庫技術(shù)與應(yīng)用21事務(wù)故障的恢復(fù)數(shù)據(jù)庫技術(shù)與應(yīng)用22二、系統(tǒng)故障什么是系統(tǒng)故障整個系統(tǒng)的正常運行突然被破壞所有正在運行的事務(wù)都非正常終止內(nèi)存中數(shù)據(jù)庫緩沖區(qū)的信息全部丟失外部存儲設(shè)備上的數(shù)據(jù)未受影響數(shù)據(jù)庫技術(shù)與應(yīng)用22二、系統(tǒng)故障什數(shù)據(jù)庫技術(shù)與應(yīng)用23系統(tǒng)故障的常見原因操作系統(tǒng)或DBMS代碼錯誤操作員操作失誤特定類型的硬件錯誤(如CPU故障)突然停電數(shù)據(jù)庫技術(shù)與應(yīng)用23系統(tǒng)故障的常見數(shù)據(jù)庫技術(shù)與應(yīng)用24系統(tǒng)故障的恢復(fù)

清除尚未完成的事務(wù)對數(shù)據(jù)庫的所有修改系統(tǒng)重新啟動時,恢復(fù)程序要強行撤消(UNDO)所有未完成事務(wù)將緩沖區(qū)中已完成事務(wù)提交的結(jié)果寫入數(shù)據(jù)庫系統(tǒng)重新啟動時,恢復(fù)程序需要重做(REDO)所有已提交的事務(wù)數(shù)據(jù)庫技術(shù)與應(yīng)用24系統(tǒng)故障的恢復(fù)數(shù)據(jù)庫技術(shù)與應(yīng)用2510.3故障的種類事務(wù)故障系統(tǒng)故障介質(zhì)故障數(shù)據(jù)庫技術(shù)與應(yīng)用2510.3故數(shù)據(jù)庫技術(shù)與應(yīng)用26三、介質(zhì)故障硬件故障使存儲在外存中的數(shù)據(jù)部分丟失或全部丟失介質(zhì)故障比前兩類故障的可能性小得多,但破壞性大得多數(shù)據(jù)庫技術(shù)與應(yīng)用26三、介質(zhì)故障硬數(shù)據(jù)庫技術(shù)與應(yīng)用27介質(zhì)故障的常見原因硬件故障磁盤損壞磁頭碰撞操作系統(tǒng)的某種潛在錯誤瞬時強磁場干擾數(shù)據(jù)庫技術(shù)與應(yīng)用27介質(zhì)故障的常見數(shù)據(jù)庫技術(shù)與應(yīng)用28介質(zhì)故障的恢復(fù)裝入數(shù)據(jù)庫發(fā)生介質(zhì)故障前某個時刻的數(shù)據(jù)副本重做自此時始的所有成功事務(wù),將這些事務(wù)已提交的結(jié)果重新記入數(shù)據(jù)庫數(shù)據(jù)庫技術(shù)與應(yīng)用28介質(zhì)故障的恢復(fù)數(shù)據(jù)庫技術(shù)與應(yīng)用29恢復(fù)操作的基本原理恢復(fù)操作的基本原理:冗余利用存儲在系統(tǒng)其它地方的冗余數(shù)據(jù)來重建數(shù)據(jù)庫中已被破壞或不正確的那部分?jǐn)?shù)據(jù)恢復(fù)的實現(xiàn)技術(shù):復(fù)雜一個大型數(shù)據(jù)庫產(chǎn)品,恢復(fù)子系統(tǒng)的代碼要占全部代碼的10%以上數(shù)據(jù)庫技術(shù)與應(yīng)用29恢復(fù)操作的基本數(shù)據(jù)庫技術(shù)與應(yīng)用30第十章數(shù)據(jù)庫恢復(fù)技術(shù)10.1事務(wù)的基本概念10.2數(shù)據(jù)庫恢復(fù)概述10.3故障的種類10.4恢復(fù)的實現(xiàn)技術(shù)10.5恢復(fù)策略10.6具有檢查點的恢復(fù)技術(shù)10.7數(shù)據(jù)庫鏡像10.8Oracle的恢復(fù)技術(shù)10.9小結(jié)數(shù)據(jù)庫技術(shù)與應(yīng)用30第十章數(shù)據(jù)數(shù)據(jù)庫技術(shù)與應(yīng)用3110.4恢復(fù)的實現(xiàn)技術(shù)恢復(fù)機制涉及的關(guān)鍵問題1.如何建立冗余數(shù)據(jù)數(shù)據(jù)轉(zhuǎn)儲(backup)日志文件(logging)2.如何利用這些冗余數(shù)據(jù)實施數(shù)據(jù)庫恢復(fù)

數(shù)據(jù)庫技術(shù)與應(yīng)用3110.4恢?jǐn)?shù)據(jù)庫技術(shù)與應(yīng)用32日志文件的內(nèi)容1.什么是日志文件日志文件(log)是用來記錄事務(wù)對數(shù)據(jù)庫的更新操作的文件2.日志文件的格式以記錄為單位的日志文件以數(shù)據(jù)塊為單位的日志文件數(shù)據(jù)庫技術(shù)與應(yīng)用32日志文件的內(nèi)容數(shù)據(jù)庫技術(shù)與應(yīng)用33日志文件的內(nèi)容(續(xù))3.日志文件內(nèi)容各個事務(wù)的開始標(biāo)記(BEGINTRANSACTION)各個事務(wù)的結(jié)束標(biāo)記(COMMIT或ROLLBACK)各個事務(wù)的所有更新操作與事務(wù)有關(guān)的內(nèi)部更新操作數(shù)據(jù)庫技術(shù)與應(yīng)用33日志文件的內(nèi)容數(shù)據(jù)庫技術(shù)與應(yīng)用3410.4.1數(shù)據(jù)轉(zhuǎn)儲一、什么是轉(zhuǎn)儲二、轉(zhuǎn)儲的用途三、轉(zhuǎn)儲方法數(shù)據(jù)庫技術(shù)與應(yīng)用3410.4.1數(shù)據(jù)庫技術(shù)與應(yīng)用35一、什么是轉(zhuǎn)儲轉(zhuǎn)儲是指DBA將整個數(shù)據(jù)庫復(fù)制到磁帶或另一個磁盤上保存起來的過程。這些備用的數(shù)據(jù)文本稱為后備副本或后援副本。數(shù)據(jù)庫技術(shù)與應(yīng)用35一、什么是轉(zhuǎn)儲數(shù)據(jù)庫技術(shù)與應(yīng)用36轉(zhuǎn)儲

故障發(fā)生點

轉(zhuǎn)儲

運行事務(wù)↓正常運行─┼───────┼─────────────

Ta

TbTf

重裝后備副本

重新運行事務(wù)恢復(fù)

─┼───────┴------------→數(shù)據(jù)庫技術(shù)與應(yīng)用36轉(zhuǎn)儲數(shù)據(jù)庫技術(shù)與應(yīng)用37三、轉(zhuǎn)儲方法1.靜態(tài)轉(zhuǎn)儲與動態(tài)轉(zhuǎn)儲2.海量轉(zhuǎn)儲與增量轉(zhuǎn)儲3.轉(zhuǎn)儲方法小結(jié)數(shù)據(jù)庫技術(shù)與應(yīng)用37三、轉(zhuǎn)儲方法1數(shù)據(jù)庫技術(shù)與應(yīng)用381.靜態(tài)轉(zhuǎn)儲在系統(tǒng)中無運行事務(wù)時進(jìn)行轉(zhuǎn)儲轉(zhuǎn)儲開始時數(shù)據(jù)庫處于一致性狀態(tài)轉(zhuǎn)儲期間不允許對數(shù)據(jù)庫的任何存取、修改活動優(yōu)點:實現(xiàn)簡單缺點:降低了數(shù)據(jù)庫的可用性轉(zhuǎn)儲必須等用戶事務(wù)結(jié)束新的事務(wù)必須等轉(zhuǎn)儲結(jié)束數(shù)據(jù)庫技術(shù)與應(yīng)用381.靜態(tài)轉(zhuǎn)儲在數(shù)據(jù)庫技術(shù)與應(yīng)用39利用靜態(tài)轉(zhuǎn)儲副本進(jìn)行恢復(fù)

故障發(fā)生點

靜態(tài)轉(zhuǎn)儲

運行事務(wù)↓正常運行─┼───────┼─────────────

Ta

TbTf

重裝后備副本

恢復(fù)

─┼───────┥數(shù)據(jù)庫技術(shù)與應(yīng)用39利用靜態(tài)轉(zhuǎn)儲副數(shù)據(jù)庫技術(shù)與應(yīng)用40動態(tài)轉(zhuǎn)儲轉(zhuǎn)儲操作與用戶事務(wù)并發(fā)進(jìn)行轉(zhuǎn)儲期間允許對數(shù)據(jù)庫進(jìn)行存取或修改優(yōu)點不用等待正在運行的用戶事務(wù)結(jié)束不會影響新事務(wù)的運行動態(tài)轉(zhuǎn)儲的缺點不能保證副本中的數(shù)據(jù)正確有效數(shù)據(jù)庫技術(shù)與應(yīng)用40動態(tài)轉(zhuǎn)儲轉(zhuǎn)儲操數(shù)據(jù)庫技術(shù)與應(yīng)用41動態(tài)轉(zhuǎn)儲利用動態(tài)轉(zhuǎn)儲得到的副本進(jìn)行故障恢復(fù)需要把動態(tài)轉(zhuǎn)儲期間各事務(wù)對數(shù)據(jù)庫的修改活動登記下來,建立日志文件后備副本加上日志文件才能把數(shù)據(jù)庫恢復(fù)到某一時刻的正確狀態(tài)數(shù)據(jù)庫技術(shù)與應(yīng)用41動態(tài)轉(zhuǎn)儲利用動數(shù)據(jù)庫技術(shù)與應(yīng)用42利用動態(tài)轉(zhuǎn)儲副本進(jìn)行恢復(fù)

運行事務(wù)

故障發(fā)生點

動態(tài)轉(zhuǎn)儲

運行事務(wù)↓正常運行─┼───────┼─────────────

Ta

TbTf重裝后備副本

利用日志文件恢復(fù)恢復(fù)

━╋━━━━┥數(shù)據(jù)庫技術(shù)與應(yīng)用42利用動態(tài)轉(zhuǎn)儲副數(shù)據(jù)庫技術(shù)與應(yīng)用43利用動態(tài)轉(zhuǎn)儲副本進(jìn)行恢復(fù)

Ta

TbTf

動態(tài)轉(zhuǎn)儲

運行事務(wù)

故障發(fā)生點正常運行─┼───────┼─────────────登記日志文件登記新日志文件─────────┼─────────────

轉(zhuǎn)儲日志文件

重裝后備副本,然后利用轉(zhuǎn)儲的日志文件恢復(fù)恢復(fù)到一

━━━━━━┥致性狀態(tài)數(shù)據(jù)庫技術(shù)與應(yīng)用43利用動態(tài)轉(zhuǎn)儲副數(shù)據(jù)庫技術(shù)與應(yīng)用442.海量轉(zhuǎn)儲與增量轉(zhuǎn)儲海量轉(zhuǎn)儲:每次轉(zhuǎn)儲全部數(shù)據(jù)庫增量轉(zhuǎn)儲:只轉(zhuǎn)儲上次轉(zhuǎn)儲后更新過的數(shù)據(jù)海量轉(zhuǎn)儲與增量轉(zhuǎn)儲比較從恢復(fù)角度看,使用海量轉(zhuǎn)儲得到的后備副本進(jìn)行恢復(fù)往往更方便但如果數(shù)據(jù)庫很大,事務(wù)處理又十分頻繁,則增量轉(zhuǎn)儲方式更實用更有效數(shù)據(jù)庫技術(shù)與應(yīng)用442.海量轉(zhuǎn)儲與數(shù)據(jù)庫技術(shù)與應(yīng)用453.轉(zhuǎn)儲方法小結(jié)轉(zhuǎn)儲方法分類

轉(zhuǎn)儲狀態(tài)動態(tài)轉(zhuǎn)儲靜態(tài)轉(zhuǎn)儲轉(zhuǎn)儲方式海量轉(zhuǎn)儲動態(tài)海量轉(zhuǎn)儲靜態(tài)海量轉(zhuǎn)儲增量轉(zhuǎn)儲動態(tài)增量轉(zhuǎn)儲靜態(tài)增量轉(zhuǎn)儲數(shù)據(jù)庫技術(shù)與應(yīng)用453.轉(zhuǎn)儲方法小數(shù)據(jù)庫技術(shù)與應(yīng)用46轉(zhuǎn)儲策略應(yīng)定期進(jìn)行數(shù)據(jù)轉(zhuǎn)儲,制作后備副本。但轉(zhuǎn)儲又是十分耗費時間和資源的,不能頻繁進(jìn)行。DBA應(yīng)該根據(jù)數(shù)據(jù)庫使用情況確定適當(dāng)?shù)霓D(zhuǎn)儲周期和轉(zhuǎn)儲方法。例:每天晚上進(jìn)行動態(tài)增量轉(zhuǎn)儲每周進(jìn)行一次動態(tài)海量轉(zhuǎn)儲每月進(jìn)行一次靜態(tài)海量轉(zhuǎn)儲數(shù)據(jù)庫技術(shù)與應(yīng)用46轉(zhuǎn)儲策略應(yīng)定期數(shù)據(jù)庫技術(shù)與應(yīng)用4710.4恢復(fù)的實現(xiàn)技術(shù)10.4.1數(shù)據(jù)轉(zhuǎn)儲10.4.2登記日志文件數(shù)據(jù)庫技術(shù)與應(yīng)用4710.4恢?jǐn)?shù)據(jù)庫技術(shù)與應(yīng)用48數(shù)據(jù)庫系統(tǒng)概論AnIntroductiontoDatabaseSystem第十一章并發(fā)控制數(shù)據(jù)庫技術(shù)與應(yīng)用48數(shù)據(jù)庫系統(tǒng)概論數(shù)據(jù)庫技術(shù)與應(yīng)用49第十一章并發(fā)控制11.1并發(fā)控制概述11.2封鎖11.3封鎖協(xié)議11.4活鎖和死鎖11.5并發(fā)調(diào)度的可串行性11.6兩段鎖協(xié)議11.7封鎖的粒度11.8Oracle的并發(fā)控制11.9小結(jié)數(shù)據(jù)庫技術(shù)與應(yīng)用49第十一章并數(shù)據(jù)庫技術(shù)與應(yīng)用50

并發(fā)控制概述多事務(wù)執(zhí)行方式(1)事務(wù)串行執(zhí)行每個時刻只有一個事務(wù)運行,其他事務(wù)必須等到這個事務(wù)結(jié)束以后方能運行不能充分利用系統(tǒng)資源,發(fā)揮數(shù)據(jù)庫共享資源的特點數(shù)據(jù)庫技術(shù)與應(yīng)用50并發(fā)控制概述數(shù)據(jù)庫技術(shù)與應(yīng)用51并發(fā)控制(續(xù))(2)交叉并發(fā)方式(interleavedconcurrency)事務(wù)的并行執(zhí)行是這些并行事務(wù)的并行操作輪流交叉運行是單處理機系統(tǒng)中的并發(fā)方式,能夠減少處理機的空閑時間,提高系統(tǒng)的效率數(shù)據(jù)庫技術(shù)與應(yīng)用51并發(fā)控制(續(xù))數(shù)據(jù)庫技術(shù)與應(yīng)用52并發(fā)控制(續(xù))(3)同時并發(fā)方式(simultaneousconcurrency)多處理機系統(tǒng)中,每個處理機可以運行一個事務(wù),多個處理機可以同時運行多個事務(wù),實現(xiàn)多個事務(wù)真正的并行運行最理想的并發(fā)方式,但受制于硬件環(huán)境更復(fù)雜的并發(fā)方式機制數(shù)據(jù)庫技術(shù)與應(yīng)用52并發(fā)控制(續(xù))數(shù)據(jù)庫技術(shù)與應(yīng)用53事務(wù)并發(fā)執(zhí)行帶來的問題可能會存取和存儲不正確的數(shù)據(jù),破壞事務(wù)的隔離性和數(shù)據(jù)庫的一致性DBMS必須提供并發(fā)控制機制并發(fā)控制機制是衡量一個DBMS性能的重要標(biāo)志之一數(shù)據(jù)庫技術(shù)與應(yīng)用53事務(wù)并發(fā)執(zhí)行帶數(shù)據(jù)庫技術(shù)與應(yīng)用548.1并發(fā)控制概述并發(fā)控制機制的任務(wù)對并發(fā)操作進(jìn)行正確調(diào)度保證事務(wù)的隔離性保證數(shù)據(jù)庫的一致性數(shù)據(jù)庫技術(shù)與應(yīng)用548.1并發(fā)數(shù)據(jù)庫技術(shù)與應(yīng)用55T1的修改被T2覆蓋了!

讀A=16

A←A-3寫回A=13①讀A=16

③A←A-1

寫回A=15

④事務(wù)T2事務(wù)T1數(shù)據(jù)不一致實例:飛機訂票系統(tǒng)數(shù)據(jù)庫技術(shù)與應(yīng)用55T1的修改被T數(shù)據(jù)庫技術(shù)與應(yīng)用56并發(fā)操作帶來的數(shù)據(jù)不一致性丟失修改(lostupdate)不可重復(fù)讀(non-repeatableread)讀“臟”數(shù)據(jù)(dirtyread)數(shù)據(jù)庫技術(shù)與應(yīng)用56并發(fā)操作帶來的數(shù)據(jù)庫技術(shù)與應(yīng)用571.丟失修改丟失修改是指事務(wù)1與事務(wù)2從數(shù)據(jù)庫中讀入同一數(shù)據(jù)并修改事務(wù)2的提交結(jié)果破壞了事務(wù)1提交的結(jié)果,導(dǎo)致事務(wù)1的修改被丟失。數(shù)據(jù)庫技術(shù)與應(yīng)用571.丟失修改數(shù)據(jù)庫技術(shù)與應(yīng)用58圖11.1三種數(shù)據(jù)不一致性T1T2①讀A=16

③A←A-1

寫回A=15

讀A=16

A←A-3寫回A=13(a)丟失修改數(shù)據(jù)庫技術(shù)與應(yīng)用58圖11.1數(shù)據(jù)庫技術(shù)與應(yīng)用592.不可重復(fù)讀不可重復(fù)讀是指事務(wù)1讀取數(shù)據(jù)后,事務(wù)2執(zhí)行更新操作,使事務(wù)1無法再現(xiàn)前一次讀取結(jié)果。數(shù)據(jù)庫技術(shù)與應(yīng)用592.不可重復(fù)數(shù)據(jù)庫技術(shù)與應(yīng)用60圖11.1三種數(shù)據(jù)不一致性(續(xù))

讀B=100B←B*2寫回B=200

讀A=50

讀B=100

求和=150②

③讀A=50

讀B=200

求和=250(驗算不對)T2T1(b)不可重復(fù)讀數(shù)據(jù)庫技術(shù)與應(yīng)用60圖11.1數(shù)據(jù)庫技術(shù)與應(yīng)用61三類不可重復(fù)讀事務(wù)1讀取某一數(shù)據(jù)后:1。事務(wù)2對其做了修改,當(dāng)事務(wù)1再次讀該數(shù)據(jù)時,得到與前一次不同的值。2.事務(wù)2刪除了其中部分記錄,當(dāng)事務(wù)1再次讀取數(shù)據(jù)時,發(fā)現(xiàn)某些記錄神密地消失了。3.事務(wù)2插入了一些記錄,當(dāng)事務(wù)1再次按相同條件讀取數(shù)據(jù)時,發(fā)現(xiàn)多了一些記錄。后兩種不可重復(fù)讀有時也稱為幻影現(xiàn)象(phantomrow)數(shù)據(jù)庫技術(shù)與應(yīng)用61三類不可重復(fù)讀數(shù)據(jù)庫技術(shù)與應(yīng)用623.讀“臟”數(shù)據(jù)事務(wù)1修改某一數(shù)據(jù),并將其寫回磁盤事務(wù)2讀取同一數(shù)據(jù)后事務(wù)1由于某種原因被撤消,這時事務(wù)1已修改過的數(shù)據(jù)恢復(fù)原值事務(wù)2讀到的數(shù)據(jù)就與數(shù)據(jù)庫中的數(shù)據(jù)不一致,是不正確的數(shù)據(jù),又稱為“臟”數(shù)據(jù)。數(shù)據(jù)庫技術(shù)與應(yīng)用623.讀“臟”數(shù)據(jù)庫技術(shù)與應(yīng)用63圖11.1三種數(shù)據(jù)不一致性(續(xù))

讀C=200

①讀C=100C←C*2

寫回C②

③ROLLBACKC恢復(fù)為100T2T1(c)讀“臟”數(shù)據(jù)數(shù)據(jù)庫技術(shù)與應(yīng)用63圖11.1數(shù)據(jù)庫技術(shù)與應(yīng)用64第十一章并發(fā)控制11.1并發(fā)控制概述11.2封鎖11.3封鎖協(xié)議11.4活鎖和死鎖11.5并發(fā)調(diào)度的可串行性11.6兩段鎖協(xié)議11.7封鎖的粒度11.8Oracle的并發(fā)控制11.9小結(jié)數(shù)據(jù)庫技術(shù)與應(yīng)用64第十一章并數(shù)據(jù)庫技術(shù)與應(yīng)用6511.2封鎖一、什么是封鎖二、基本封鎖類型三、基本鎖的相容矩陣數(shù)據(jù)庫技術(shù)與應(yīng)用6511.2封數(shù)據(jù)庫技術(shù)與應(yīng)用66一、什么是封鎖封鎖就是事務(wù)T在對某個數(shù)據(jù)對象(例如表、記錄等)操作之前,先向系統(tǒng)發(fā)出請求,對其加鎖加鎖后事務(wù)T就對該數(shù)據(jù)對象有了一定的控制,在事務(wù)T釋放它的鎖之前,其它的事務(wù)不能更新此數(shù)據(jù)對象。封鎖是實現(xiàn)并發(fā)控制的一個非常重要的技術(shù)數(shù)據(jù)庫技術(shù)與應(yīng)用66一、什么是封鎖數(shù)據(jù)庫技術(shù)與應(yīng)用6711.2封鎖一、什么是封鎖二、基本封鎖類型三、基本鎖的相容矩陣數(shù)據(jù)庫技術(shù)與應(yīng)用6711.2封數(shù)據(jù)庫技術(shù)與應(yīng)用68二、基本封鎖類型DBMS通常提供了多種類型的封鎖。一個事務(wù)對某個數(shù)據(jù)對象加鎖后究竟擁有什么樣的控制是由封鎖的類型決定的?;痉怄i類型排它鎖(eXclusivelock,簡記為X鎖)共享鎖(Sharelock,簡記為S鎖)數(shù)據(jù)庫技術(shù)與應(yīng)用68二、基本封鎖類數(shù)據(jù)庫技術(shù)與應(yīng)用69

排它鎖

排它鎖又稱為寫鎖若事務(wù)T對數(shù)據(jù)對象A加上X鎖,則只允許T讀取和修改A,其它任何事務(wù)都不能再對A加任何類型的鎖,直到T釋放A上的鎖數(shù)據(jù)庫技術(shù)與應(yīng)用69

排它鎖

排它數(shù)據(jù)庫技術(shù)與應(yīng)用70共享鎖共享鎖又稱為讀鎖若事務(wù)T對數(shù)據(jù)對象A加上S鎖,則其它事務(wù)只能再對A加S鎖,而不能加X鎖,直到T釋放A上的S鎖數(shù)據(jù)庫技術(shù)與應(yīng)用70共享鎖共享鎖又?jǐn)?shù)據(jù)庫技術(shù)與應(yīng)用7111.2封鎖一、什么是封鎖二、基本封鎖類型三、基本鎖的相容矩陣數(shù)據(jù)庫技術(shù)與應(yīng)用7111.2封數(shù)據(jù)庫技術(shù)與應(yīng)用72三、鎖的相容矩陣Y=Yes,相容的請求N=No,不相容的請求

T1T2XS-XNNYSNYY-YYY數(shù)據(jù)庫技術(shù)與應(yīng)用72三、鎖的相容矩數(shù)據(jù)庫技術(shù)與應(yīng)用73第十一章并發(fā)控制11.1并發(fā)控制概述11.2封鎖11.3封鎖協(xié)議11.4活鎖和死鎖11.5并發(fā)調(diào)度的可串行性11.6兩段鎖協(xié)議11.7封鎖的粒度11.8Oracle的并發(fā)控制11.9小結(jié)數(shù)據(jù)庫技術(shù)與應(yīng)用73第十一章并數(shù)據(jù)庫技術(shù)與應(yīng)用7411.3封鎖協(xié)議在運用X鎖和S鎖對數(shù)據(jù)對象加鎖時,需要約定一些規(guī)則:封鎖協(xié)議(LockingProtocol)何時申請X鎖或S鎖持鎖時間、何時釋放不同的封鎖協(xié)議,在不同的程度上為并發(fā)操作的正確調(diào)度提供一定的保證常用的封鎖協(xié)議:三級封鎖協(xié)議數(shù)據(jù)庫技術(shù)與應(yīng)用7411.3封數(shù)據(jù)庫技術(shù)與應(yīng)用751級封鎖協(xié)議事務(wù)T在修改數(shù)據(jù)R之前必須先對其加X鎖,直到事務(wù)結(jié)束才釋放正常結(jié)束(COMMIT)非正常結(jié)束(ROLLBACK)1級封鎖協(xié)議可防止丟失修改在1級封鎖協(xié)議中,如果是讀數(shù)據(jù),不需要加鎖的,所以它不能保證可重復(fù)讀和不讀“臟”數(shù)據(jù)。數(shù)據(jù)庫技術(shù)與應(yīng)用751級封鎖協(xié)議事數(shù)據(jù)庫技術(shù)與應(yīng)用762級封鎖協(xié)議1級封鎖協(xié)議+事務(wù)T在讀取數(shù)據(jù)R前必須先加S鎖,讀完后即可釋放S鎖2級封鎖協(xié)議可以防止丟失修改和讀“臟”數(shù)據(jù)。在2級封鎖協(xié)議中,由于讀完數(shù)據(jù)后即可釋放S鎖,所以它不能保證可重復(fù)讀。數(shù)據(jù)庫技術(shù)與應(yīng)用762級封鎖協(xié)議數(shù)據(jù)庫技術(shù)與應(yīng)用773級封鎖協(xié)議1級封鎖協(xié)議+事務(wù)T在讀取數(shù)據(jù)R之前必須先對其加S鎖,直到事務(wù)結(jié)束才釋放3級封鎖協(xié)議可防止丟失修改、讀臟數(shù)據(jù)和不可重復(fù)讀。數(shù)據(jù)庫技術(shù)與應(yīng)用773級封鎖協(xié)議數(shù)據(jù)庫技術(shù)與應(yīng)用784.封鎖協(xié)議小結(jié)三級協(xié)議的主要區(qū)別什么操作需要申請封鎖何時釋放鎖(即持鎖時間)數(shù)據(jù)庫技術(shù)與應(yīng)用784.封鎖協(xié)議小數(shù)據(jù)庫技術(shù)與應(yīng)用79封鎖協(xié)議小結(jié)(續(xù))數(shù)據(jù)庫技術(shù)與應(yīng)用79封鎖協(xié)議小結(jié)(數(shù)據(jù)庫技術(shù)與應(yīng)用80第十一章并發(fā)控制11.1并發(fā)控制概述11.2封鎖11.3封鎖協(xié)議11.4活鎖和死鎖11.5并發(fā)調(diào)度的可串行性11.6兩段鎖協(xié)議11.7封鎖的粒度11.8Oracle的并發(fā)控制11.9小結(jié)數(shù)據(jù)庫技術(shù)與應(yīng)用80第十一章并數(shù)據(jù)庫技術(shù)與應(yīng)用8111.4活鎖和死鎖封鎖技術(shù)可以有效地解決并行操作的一致性問題,但也帶來一些新的問題死鎖數(shù)據(jù)庫技術(shù)與應(yīng)用8111.4活數(shù)據(jù)庫技術(shù)與應(yīng)用82采用先來先服務(wù)的策略:當(dāng)多個事務(wù)請求封鎖同一數(shù)據(jù)對象時按請求封鎖的先后次序?qū)@些事務(wù)排隊該數(shù)據(jù)對象上的鎖一旦釋放,首先批準(zhǔn)申請隊列中第一個事務(wù)獲得鎖。11.4.1活鎖,如何避免數(shù)據(jù)庫技術(shù)與應(yīng)用82采用先來先服務(wù)數(shù)據(jù)庫技術(shù)與應(yīng)用8311.4.2死鎖 T1T2

XlockR1...XlockR2等待等待等待...XlockR2..XlockR1等待等待.數(shù)據(jù)庫技術(shù)與應(yīng)用8311.4.2數(shù)據(jù)庫技術(shù)與應(yīng)用84

解決死鎖的方法兩類方法1.預(yù)防死鎖2.死鎖的診斷與解除數(shù)據(jù)庫技術(shù)與應(yīng)用84

解決死鎖的方數(shù)據(jù)庫技術(shù)與應(yīng)用851.死鎖的預(yù)防產(chǎn)生死鎖的原因是兩個或多個事務(wù)都已封鎖了一些數(shù)據(jù)對象,然后又都請求對已為其他事務(wù)封鎖的數(shù)據(jù)對象加鎖,從而出現(xiàn)死等待。預(yù)防死鎖的發(fā)生就是要破壞產(chǎn)生死鎖的條件數(shù)據(jù)庫技術(shù)與應(yīng)用851.死鎖的預(yù)數(shù)據(jù)庫技術(shù)與應(yīng)用86死鎖的預(yù)防(續(xù))預(yù)防死鎖的方法一次封鎖法順序封鎖法數(shù)據(jù)庫技術(shù)與應(yīng)用86死鎖的預(yù)防(續(xù)數(shù)據(jù)庫技術(shù)與應(yīng)用87(1)一次封鎖法要求每個事務(wù)必須一次將所有要使用的數(shù)據(jù)全部加鎖,否則就不能繼續(xù)執(zhí)行一次封鎖法存在的問題:降低并發(fā)度擴大封鎖范圍將以后要用到的全部數(shù)據(jù)加鎖,勢必擴大了封鎖的范圍,從而降低了系統(tǒng)的并發(fā)度數(shù)據(jù)庫技術(shù)與應(yīng)用87(1)一次封鎖數(shù)據(jù)庫技術(shù)與應(yīng)用88一次封鎖法(續(xù))難于事先精確確定封鎖對象數(shù)據(jù)庫中數(shù)據(jù)是不斷變化的,原來不要求封鎖的數(shù)據(jù),在執(zhí)行過程中可能會變成封鎖對象,所以很難事先精確地確定每個事務(wù)所要封鎖的數(shù)據(jù)對象解決方法:將事務(wù)在執(zhí)行過程中可能要封鎖的數(shù)據(jù)對象全部加鎖,這就進(jìn)一步降低了并發(fā)度。數(shù)據(jù)庫技術(shù)與應(yīng)用88一次封鎖法(續(xù)數(shù)據(jù)庫技術(shù)與應(yīng)用89(2)順序封鎖法順序封鎖法是預(yù)先對數(shù)據(jù)對象規(guī)定一個封鎖順序,所有事務(wù)都按這個順序?qū)嵭蟹怄i。順序封鎖法存在的問題維護(hù)成本高數(shù)據(jù)庫系統(tǒng)中可封鎖的數(shù)據(jù)對象極其眾多,并且隨數(shù)據(jù)的插入、刪除等操作而不斷地變化,要維護(hù)這樣極多而且變化的資源的封鎖順序非常困難,成本很高數(shù)據(jù)庫技術(shù)與應(yīng)用89(2)順序封鎖數(shù)據(jù)庫技術(shù)與應(yīng)用90順序封鎖法(續(xù))難于實現(xiàn)事務(wù)的封鎖請求可以隨著事務(wù)的執(zhí)行而動態(tài)地決定,很難事先確定每一個事務(wù)要封鎖哪些對象,因此也就很難按規(guī)定的順序去施加封鎖。例:規(guī)定數(shù)據(jù)對象的封鎖順序為A,B,C,D,E。事務(wù)T3起初要求封鎖數(shù)據(jù)對象B,C,E,但當(dāng)它封鎖了B,C后,才發(fā)現(xiàn)還需要封鎖A,這樣就破壞了封鎖順序.數(shù)據(jù)庫技術(shù)與應(yīng)用90順序封鎖法(續(xù)數(shù)據(jù)庫技術(shù)與應(yīng)用91死鎖的預(yù)防(續(xù))結(jié)論在操作系統(tǒng)中廣為采用的預(yù)防死鎖的策略并不很適合數(shù)據(jù)庫的特點DBMS在解決死鎖的問題上更普遍采用的是診斷并解除死鎖的方法數(shù)據(jù)庫技術(shù)與應(yīng)用91死鎖的預(yù)防(續(xù)數(shù)據(jù)庫技術(shù)與應(yīng)用922.死鎖的診斷與解除允許死鎖發(fā)生解除死鎖由DBMS的并發(fā)控制子系統(tǒng)定期檢測系統(tǒng)中是否存在死鎖一旦檢測到死鎖,就要設(shè)法解除數(shù)據(jù)庫技術(shù)與應(yīng)用922.死鎖的診數(shù)據(jù)庫技術(shù)與應(yīng)用93檢測死鎖:超時法如果一個事務(wù)的等待時間超過了規(guī)定的時限,就認(rèn)為發(fā)生了死鎖優(yōu)點:實現(xiàn)簡單缺點有可能誤判死鎖時限若設(shè)置得太長,死鎖發(fā)生后不能及時發(fā)現(xiàn)數(shù)據(jù)庫技術(shù)與應(yīng)用93檢測死鎖:超時數(shù)據(jù)庫技術(shù)與應(yīng)用94死鎖的診斷與解除(續(xù))解除死鎖選擇一個處理死鎖代價最小的事務(wù),將其撤消,釋放此事務(wù)持有的所有的鎖,使其它事務(wù)能繼續(xù)運行下去。數(shù)據(jù)庫技術(shù)與應(yīng)用94死鎖的診斷與解數(shù)據(jù)庫技術(shù)與應(yīng)用95數(shù)據(jù)庫系統(tǒng)概論AnIntroductiontoDatabaseSystem第四章數(shù)據(jù)庫安全性/8265033739131616數(shù)據(jù)庫技術(shù)與應(yīng)用95數(shù)據(jù)庫系統(tǒng)概論數(shù)據(jù)庫技術(shù)與應(yīng)用96第四章數(shù)據(jù)庫安全性

問題的提出數(shù)據(jù)庫的一大特點是數(shù)據(jù)可以共享但數(shù)據(jù)共享必然帶來數(shù)據(jù)庫的安全性問題數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)共享不能是無條件的共享例:軍事秘密、國家機密、新產(chǎn)品實驗數(shù)據(jù)、市場需求分析、市場營銷策略、銷售計劃、客戶檔案、醫(yī)療檔案、銀行儲蓄數(shù)據(jù)數(shù)據(jù)庫技術(shù)與應(yīng)用96第四章數(shù)據(jù)數(shù)據(jù)庫技術(shù)與應(yīng)用97數(shù)據(jù)庫安全性(續(xù))數(shù)據(jù)庫中數(shù)據(jù)的共享是在DBMS統(tǒng)一的嚴(yán)格的控制之下的共享,即只允許有合法使用權(quán)限的用戶訪問允許他存取的數(shù)據(jù)數(shù)據(jù)庫系統(tǒng)的安全保護(hù)措施是否有效是數(shù)據(jù)庫系統(tǒng)主要的性能指標(biāo)之一數(shù)據(jù)庫技術(shù)與應(yīng)用97數(shù)據(jù)庫安全性(數(shù)據(jù)庫技術(shù)與應(yīng)用98數(shù)據(jù)庫安全性(續(xù))什么是數(shù)據(jù)庫的安全性數(shù)據(jù)庫的安全性是指保護(hù)數(shù)據(jù)庫,防止因用戶非法使用數(shù)據(jù)庫造成數(shù)據(jù)泄露、更改或破壞。什么是數(shù)據(jù)的保密數(shù)據(jù)保密是指用戶合法地訪問到機密數(shù)據(jù)后能否對這些數(shù)據(jù)保密。通過制訂法律道德準(zhǔn)則和政策法規(guī)來保證。數(shù)據(jù)庫技術(shù)與應(yīng)用98數(shù)據(jù)庫安全性(數(shù)據(jù)庫技術(shù)與應(yīng)用99第四章數(shù)據(jù)庫安全性4.1計算機安全性概論4.2數(shù)據(jù)庫安全性控制4.3統(tǒng)計數(shù)據(jù)庫安全性4.4Oracle數(shù)據(jù)庫的安全性措施4.5小結(jié)數(shù)據(jù)庫技術(shù)與應(yīng)用99第四章數(shù)據(jù)數(shù)據(jù)庫技術(shù)與應(yīng)用1004.1計算機安全性概論4.1.1計算機系統(tǒng)的三類安全性問題

4.1.2可信計算機系統(tǒng)評測標(biāo)準(zhǔn)數(shù)據(jù)庫技術(shù)與應(yīng)用1004.1計數(shù)據(jù)庫技術(shù)與應(yīng)用1014.1.1計算機系統(tǒng)的三類安全性問題

什么是計算機系統(tǒng)安全性為計算機系統(tǒng)建立和采取的各種安全保護(hù)措施,以保護(hù)計算機系統(tǒng)中的硬件、軟件及數(shù)據(jù),防止其因偶然或惡意的原因使系統(tǒng)遭到破壞,數(shù)據(jù)遭到更改或泄露等。數(shù)據(jù)庫技術(shù)與應(yīng)用1014.1.1數(shù)據(jù)庫技術(shù)與應(yīng)用102計算機系統(tǒng)的三類安全性問題(續(xù))

三類計算機系統(tǒng)安全性問題技術(shù)安全類管理安全類政策法律類數(shù)據(jù)庫技術(shù)與應(yīng)用102計算機系統(tǒng)的數(shù)據(jù)庫技術(shù)與應(yīng)用103計算機系統(tǒng)的三類安全性問題(續(xù))

技術(shù)安全指計算機系統(tǒng)中采用具有一定安全性的硬件、軟件來實現(xiàn)對計算機系統(tǒng)及其所存數(shù)據(jù)的安全保護(hù),當(dāng)計算機系統(tǒng)受到無意或惡意的攻擊時仍能保證系統(tǒng)正常運行,保證系統(tǒng)內(nèi)的數(shù)據(jù)不增加、不丟失、不泄露。數(shù)據(jù)庫技術(shù)與應(yīng)用103計算機系統(tǒng)的數(shù)據(jù)庫技術(shù)與應(yīng)用104計算機系統(tǒng)的三類安全性問題(續(xù))

管理安全軟硬件意外故障、場地的意外事故、管理不善導(dǎo)致的計算機設(shè)備和數(shù)據(jù)介質(zhì)的物理破壞、丟失等安全問題數(shù)據(jù)庫技術(shù)與應(yīng)用104計算機系統(tǒng)的數(shù)據(jù)庫技術(shù)與應(yīng)用105計算機系統(tǒng)的三類安全性問題(續(xù))

政策法律類政府部門建立的有關(guān)計算機犯罪、數(shù)據(jù)安全保密的法律道德準(zhǔn)則和政策法規(guī)、法令數(shù)據(jù)庫技術(shù)與應(yīng)用105計算機系統(tǒng)的數(shù)據(jù)庫技術(shù)與應(yīng)用106第四章數(shù)據(jù)庫安全性4.1計算機安全性概論4.2數(shù)據(jù)庫安全性控制4.3統(tǒng)計數(shù)據(jù)庫安全性4.4Oracle數(shù)據(jù)庫的安全性措施4.5小結(jié)數(shù)據(jù)庫技術(shù)與應(yīng)用106第四章數(shù)數(shù)據(jù)庫技術(shù)與應(yīng)用107數(shù)據(jù)庫安全性控制概述(續(xù))數(shù)據(jù)庫安全性控制的常用方法用戶標(biāo)識和鑒定存取控制視圖審計密碼存儲數(shù)據(jù)庫技術(shù)與應(yīng)用107數(shù)據(jù)庫安全性數(shù)據(jù)庫技術(shù)與應(yīng)用1084.2數(shù)據(jù)庫安全性控制4.2.1數(shù)據(jù)庫安全性控制概述4.2.2用戶標(biāo)識與鑒別4.2.3存取控制4.2.4自主存取控制方法4.2.5強制存取控制方法4.2.6視圖機制4.2.7審計4.2.8數(shù)據(jù)加密數(shù)據(jù)庫技術(shù)與應(yīng)用1084.2數(shù)數(shù)據(jù)庫技術(shù)與應(yīng)用1094.2.2用戶標(biāo)識與鑒別用戶標(biāo)識與鑒別(Identification&Authentication)系統(tǒng)提供的最外層安全保護(hù)措施數(shù)據(jù)庫技術(shù)與應(yīng)用1094.2.2數(shù)據(jù)庫技術(shù)與應(yīng)用1104.2.2用戶標(biāo)識與鑒別基本方法系統(tǒng)提供一定的方式讓用戶標(biāo)識自己的名字或身份;系統(tǒng)內(nèi)部記錄著所有合法用戶的標(biāo)識;每次用戶要求進(jìn)入系統(tǒng)時,由系統(tǒng)核對用戶提供的身份標(biāo)識;通過鑒定后才提供機器使用權(quán)。用戶標(biāo)識和鑒定可以重復(fù)多次數(shù)據(jù)庫技術(shù)與應(yīng)用1104.2.2數(shù)據(jù)庫技術(shù)與應(yīng)用1114.2數(shù)據(jù)庫安全性控制4.2.1數(shù)據(jù)庫安全性控制概述4.2.2用戶標(biāo)識與鑒別4.2.3存取控制4.2.4自主存取控制方法4.2.5強制存取控制方法4.2.6視圖機制4.2.7審計4.2.8數(shù)據(jù)加密數(shù)據(jù)庫技術(shù)與應(yīng)用1114.2數(shù)數(shù)據(jù)庫技術(shù)與應(yīng)用1124.2.3存取控制存取控制機制的功能存取控制機制的組成定義存取權(quán)限檢查存取權(quán)限用戶權(quán)限定義和合法權(quán)檢查機制一起組成了DBMS的安全子系統(tǒng)數(shù)據(jù)庫技術(shù)與應(yīng)用1124.2.3數(shù)據(jù)庫技術(shù)與應(yīng)用113存取控制(續(xù))定義存取權(quán)限在數(shù)據(jù)庫系統(tǒng)中,為了保證用戶只能訪問他有權(quán)存取的數(shù)據(jù),必須預(yù)先對每個用戶定義存取權(quán)限。檢查存取權(quán)限對于通過鑒定獲得上機權(quán)的用戶(即合法用戶),系統(tǒng)根據(jù)他的存取權(quán)限定義對他的各種操作請求進(jìn)行控制,確保他只執(zhí)行合法操作。數(shù)據(jù)庫技術(shù)與應(yīng)用113存取控制(續(xù)數(shù)據(jù)庫技術(shù)與應(yīng)用1144.2數(shù)據(jù)庫安全性控制4.2.1數(shù)據(jù)庫安全性控制概述4.2.2用戶標(biāo)識與鑒別4.2.3存取控制4.2.4自主存取控制方法4.2.5強制存取控制方法4.2.6視圖機制4.2.7審計4.2.8數(shù)據(jù)加密數(shù)據(jù)庫技術(shù)與應(yīng)用1144.2數(shù)數(shù)據(jù)庫技術(shù)與應(yīng)用1154.2.4自主存取控制方法定義存取權(quán)限存取權(quán)限存取權(quán)限由兩個要素組成數(shù)據(jù)對象操作類型數(shù)據(jù)庫技術(shù)與應(yīng)用1154.2.4數(shù)據(jù)庫技術(shù)與應(yīng)用116自主存取控制方法(續(xù))關(guān)系系統(tǒng)中的存取權(quán)限類型

數(shù)據(jù)對象 操作類型模式 模式 建立、修改、刪除、檢索 外模式建立、修改、刪除、檢索 內(nèi)模式 建立、刪除、檢索數(shù)據(jù) 表 查找、插入、修改、刪除 屬性列 查找、插入、修改、刪除數(shù)據(jù)庫技術(shù)與應(yīng)用116自主存取控制數(shù)據(jù)庫技術(shù)與應(yīng)用1174.2數(shù)據(jù)庫安全性控制4.2.1數(shù)據(jù)庫安全性控制概述4.2.2用戶標(biāo)識與鑒別4.2.3存取控制4.2.4自主存取控制方法4.2.5強制存取控制方法4.2.6視圖機制4.2.7審計4.2.8數(shù)據(jù)加密數(shù)據(jù)庫技術(shù)與應(yīng)用1174.2數(shù)數(shù)據(jù)庫技術(shù)與應(yīng)用1184.2.5強制存取控制方法什么是強制存取控制強制存取控制(MAC)是指系統(tǒng)為保證更高程度的安全性,按照TDI/TCSEC標(biāo)準(zhǔn)中安全策略的要求,所采取的強制存取檢查手段。MAC不是用戶能直接感知或進(jìn)行控制的。MAC適用于對數(shù)據(jù)有嚴(yán)格而固定密級分類的部門軍事部門政府部門數(shù)據(jù)庫技術(shù)與應(yīng)用1184.2.5數(shù)據(jù)庫技術(shù)與應(yīng)用1194.2數(shù)據(jù)庫安全性控制4.2.1數(shù)據(jù)庫安全性控制概述4.2.2用戶標(biāo)識與鑒別4.2.3存取控制4.2.4自主存取控制方法4.2.5強制存取控制方法4.2.6視圖機制4.2.7審計4.2.8數(shù)據(jù)加密數(shù)據(jù)庫技術(shù)與應(yīng)用1194.2數(shù)數(shù)據(jù)庫技術(shù)與應(yīng)用1204.2.6視圖機制視圖機制把要保密的數(shù)據(jù)對無權(quán)存取這些數(shù)據(jù)的用戶隱藏起來,視圖機制更主要的功能在于提供數(shù)據(jù)獨立性,其安全保護(hù)功能太不精細(xì),往往遠(yuǎn)不能達(dá)到應(yīng)用系統(tǒng)的要求。數(shù)據(jù)庫技術(shù)與應(yīng)用1204.2.6數(shù)據(jù)庫技術(shù)與應(yīng)用121視圖機制(續(xù))視圖機制與授權(quán)機制配合使用:首先用視圖機制屏蔽掉一部分保密數(shù)據(jù)視圖上面再進(jìn)一步定義存取權(quán)限間接實現(xiàn)了支持存取謂詞的用戶權(quán)限定義數(shù)據(jù)庫技術(shù)與應(yīng)用121視圖機制(續(xù)數(shù)據(jù)庫技術(shù)與應(yīng)用1224.2數(shù)據(jù)庫安全性控制4.2.1數(shù)據(jù)庫安全性控制概述4.2.2用戶標(biāo)識與鑒別4.2.3存取控制4.2.4自主存取控制方法4.2.5強制存取控制方法4.2.6視圖機制4.2.7審計4.2.8數(shù)據(jù)加密數(shù)據(jù)庫技術(shù)與應(yīng)用1224.2數(shù)數(shù)據(jù)庫技術(shù)與應(yīng)用1234.2.7審計什么是審計啟用一個專用的審計日志(AuditLog)將用戶對數(shù)據(jù)庫的所有操作記錄在上面DBA可以利用審計日志中的追蹤信息找出非法存取數(shù)據(jù)的人C2以上安全級別的DBMS必須具有審計功能數(shù)據(jù)庫技術(shù)與應(yīng)用1234.2.7數(shù)據(jù)庫技術(shù)與應(yīng)用1244.2數(shù)據(jù)庫安全性控制4.2.1數(shù)據(jù)庫安全性控制概述4.2.2用戶標(biāo)識與鑒別4.2.3存取控制4.2.4自主存取控制方法4.2.5強制存取控制方法4.2.6視圖機制4.2.7審計4.2.8數(shù)據(jù)加密數(shù)據(jù)庫技術(shù)與應(yīng)用1244.2數(shù)數(shù)據(jù)庫技術(shù)與應(yīng)用1254.2.8數(shù)據(jù)加密數(shù)據(jù)加密防止數(shù)據(jù)庫中數(shù)據(jù)在存儲和傳輸中失密的有效手段加密的基本思想根據(jù)一定的算法將原始數(shù)據(jù)(術(shù)語為明文,Plaintext)變換為不可直接識別的格式(術(shù)語為密文,Ciphertext)不知道解密算法的人無法獲知數(shù)據(jù)的內(nèi)容數(shù)據(jù)庫技術(shù)與應(yīng)用1254.2.8數(shù)據(jù)庫技術(shù)與應(yīng)用126數(shù)據(jù)加密(續(xù))加密方法

替換方法使用密鑰(EncryptionKey)將明文中的每一個字符轉(zhuǎn)換為密文中的一個字符置換方法將明文的字符按不同的順序重新排列混合方法美國1977年制定的官方加密標(biāo)準(zhǔn):數(shù)據(jù)加密標(biāo)準(zhǔn)(DataEncryptionStandard,簡稱DES)數(shù)據(jù)庫技術(shù)與應(yīng)用126數(shù)據(jù)加密(續(xù)數(shù)據(jù)庫技術(shù)與應(yīng)用127數(shù)據(jù)加密(續(xù))DBMS中的數(shù)據(jù)加密有些數(shù)據(jù)庫產(chǎn)品提供了數(shù)據(jù)加密例行程序有些數(shù)據(jù)庫產(chǎn)品本身未提供加密程序,但提供了接口數(shù)據(jù)庫技術(shù)與應(yīng)用127數(shù)據(jù)加密(續(xù)數(shù)據(jù)庫技術(shù)與應(yīng)用128第五章數(shù)據(jù)庫安全性5.1數(shù)據(jù)庫完整性5.2完整性控制數(shù)據(jù)庫技術(shù)與應(yīng)用128第五章數(shù)數(shù)據(jù)庫技術(shù)與應(yīng)用129完整性約束條件數(shù)據(jù)庫的完整性指數(shù)據(jù)的正確性和相容性,完整性約束條件的作用對象可以是:關(guān)系:若干元組間、關(guān)系集合上以及關(guān)系之間的聯(lián)系的約束元組:元組中各字段間聯(lián)系的約束列:列類型、取值范圍、精度和排序等數(shù)據(jù)庫技術(shù)與應(yīng)用129完整性約束條數(shù)據(jù)庫技術(shù)與應(yīng)用130靜態(tài)約束、動態(tài)約束靜態(tài)約束:數(shù)據(jù)庫每一確定狀態(tài)時的數(shù)據(jù)對象應(yīng)滿足的約束條件,它是反映數(shù)據(jù)庫狀態(tài)合理性的約束動態(tài)約束:數(shù)據(jù)庫從一種狀態(tài)轉(zhuǎn)變?yōu)榱硪环N狀態(tài)時,新、舊值之間所應(yīng)滿足的約束條件,它反映數(shù)據(jù)庫狀態(tài)變遷的約束。數(shù)據(jù)庫技術(shù)與應(yīng)用130靜態(tài)約束、動數(shù)據(jù)庫技術(shù)與應(yīng)用131各種約束舉例靜態(tài)列級約束:成績?nèi)≈捣秶?~100靜態(tài)元組約束:訂貨關(guān)系中包含訂貨量和發(fā)貨量,發(fā)貨量不能夠大于訂貨量靜態(tài)關(guān)系約束:實體完整性、參照完整性動態(tài)列級約束:學(xué)生年齡只能增長動態(tài)元組約束:工資調(diào)整時新工資等于原工資+工齡×1.5動態(tài)關(guān)系約束:加在關(guān)系變化前后狀態(tài)上的限制條件,如事務(wù)一致性、原子性數(shù)據(jù)庫技術(shù)與應(yīng)用131各種約束舉例數(shù)據(jù)庫技術(shù)與應(yīng)用1325.2完整性控制DBMS完整性控制的三方面功能:定義功能:定義完整性約束的機制檢查功能:檢查用戶的操作請求是否違背完整性約束當(dāng)發(fā)現(xiàn)操作請求違背完整性約束時,采取一定措施來保證完整性約束數(shù)據(jù)庫技術(shù)與應(yīng)用1325.2完整數(shù)據(jù)庫技術(shù)與應(yīng)用133第三篇系統(tǒng)篇第十章數(shù)據(jù)庫恢復(fù)技術(shù)第十一章并發(fā)控制第四章數(shù)據(jù)庫安全性第五章數(shù)據(jù)庫完整性數(shù)據(jù)庫技術(shù)與應(yīng)用1第三篇系統(tǒng)篇數(shù)據(jù)庫技術(shù)與應(yīng)用134第十章數(shù)據(jù)庫恢復(fù)技術(shù)10.1事務(wù)的基本概念10.2數(shù)據(jù)庫恢復(fù)概述10.3故障的種類10.4恢復(fù)的實現(xiàn)技術(shù)10.5恢復(fù)策略10.6具有檢查點的恢復(fù)技術(shù)10.7數(shù)據(jù)庫鏡像10.8Oracle的恢復(fù)技術(shù)10.9小結(jié)數(shù)據(jù)庫技術(shù)與應(yīng)用2第十章數(shù)據(jù)庫數(shù)據(jù)庫技術(shù)與應(yīng)用135銀行轉(zhuǎn)帳銀行轉(zhuǎn)帳:張三從帳號A中取出一萬元,存入帳號B。第一步:A賬號扣減1萬元;第二步:B賬號增加1萬元;問題:第一步完成后,突然停電,怎么辦?1萬元消失了,找誰去喊冤?

A=A-1BB=B+1A數(shù)據(jù)庫技術(shù)與應(yīng)用3銀行轉(zhuǎn)帳銀行轉(zhuǎn)帳數(shù)據(jù)庫技術(shù)與應(yīng)用136最后賬上只有14萬!蒼天呀!大地呀!同時,老婆在商場逛街,消費了2萬元

讀A=余額16萬

14萬←16萬–2萬寫回數(shù)據(jù)庫A=14張三辛苦打工,掙了3萬元,存入銀行;①A=余額16萬

③19萬←16萬+3萬

寫入數(shù)據(jù)庫A=19

④張三老婆張三數(shù)據(jù)庫技術(shù)與應(yīng)用4最后賬上只有14數(shù)據(jù)庫技術(shù)與應(yīng)用13710.1事務(wù)的基本概念一、什么是事務(wù)二、如何定義事務(wù)三、事務(wù)的特性數(shù)據(jù)庫技術(shù)與應(yīng)用510.1事務(wù)數(shù)據(jù)庫技術(shù)與應(yīng)用138一、什么是事務(wù)事務(wù)(Transaction)是用戶定義的一個數(shù)據(jù)庫操作序列,這些操作要么全做,要么全不做,是一個不可分割的工作單位事務(wù)和程序是兩個概念在關(guān)系數(shù)據(jù)庫中,一個事務(wù)可以是一條SQL語句,一組SQL語句或整個程序一個應(yīng)用程序通常包含多個事務(wù)事務(wù)是恢復(fù)和并發(fā)控制的基本單位數(shù)據(jù)庫技術(shù)與應(yīng)用6一、什么是事務(wù)事數(shù)據(jù)庫技術(shù)與應(yīng)用139二、如何定義事務(wù)顯式定義方式

BEGINTRANSACTIONBEGINTRANSACTIONSQL語句1SQL語句1

SQL語句2SQL語句2

。。。。。。。。。。

COMMITROLLBACK隱式方式當(dāng)用戶沒有顯式地定義事務(wù)時,DBMS按缺省規(guī)定自動劃分事務(wù)數(shù)據(jù)庫技術(shù)與應(yīng)用7二、如何定義事務(wù)數(shù)據(jù)庫技術(shù)與應(yīng)用140事務(wù)結(jié)束COMMIT事務(wù)正常結(jié)束提交事務(wù)的所有操作(讀+更新)事務(wù)中所有對數(shù)據(jù)庫的更新永久生效ROLLBACK事務(wù)異常終止事務(wù)運行的過程中發(fā)生了故障,不能繼續(xù)執(zhí)行回滾事務(wù)的所有更新操作事務(wù)滾回到開始時的狀態(tài)數(shù)據(jù)庫技術(shù)與應(yīng)用8事務(wù)結(jié)束COMM數(shù)據(jù)庫技術(shù)與應(yīng)用141三、事務(wù)的特性(ACID特性)事務(wù)的ACID特性:原子性(Atomicity)一致性(Consistency)隔離性(Isolation)持續(xù)性(Durability)數(shù)據(jù)庫技術(shù)與應(yīng)用9三、事務(wù)的特性(數(shù)據(jù)庫技術(shù)與應(yīng)用1421.原子性(Atomicity)事務(wù)是數(shù)據(jù)庫的邏輯工作單位事務(wù)中包括的諸操作要么都做,要么都不做數(shù)據(jù)庫技術(shù)與應(yīng)用101.原子性(數(shù)據(jù)庫技術(shù)與應(yīng)用1432.一致性(Consistency)事務(wù)執(zhí)行的結(jié)果必須是使數(shù)據(jù)庫從一個一致性狀態(tài)變到另一個一致性狀態(tài)一致性狀態(tài):數(shù)據(jù)庫中只包含成功事務(wù)提交的結(jié)果不一致狀態(tài):數(shù)據(jù)庫中包含失敗事務(wù)的結(jié)果數(shù)據(jù)庫技術(shù)與應(yīng)用112.一致性(數(shù)據(jù)庫技術(shù)與應(yīng)用144一致性與原子性銀行轉(zhuǎn)帳:從帳號A中取出一萬元,存入帳號B。定義一個事務(wù),該事務(wù)包括兩個操作這兩個操作要么全做,要么全不做全做或者全不做,數(shù)據(jù)庫都處于一致性狀態(tài)。如果只做一個操作,數(shù)據(jù)庫就處于不一致性狀態(tài)。

B=B+1

A=A-1BA數(shù)據(jù)庫技術(shù)與應(yīng)用12一致性與原子性數(shù)據(jù)庫技術(shù)與應(yīng)用1453.隔離性(Isolation)對并發(fā)執(zhí)行而言一個事務(wù)的執(zhí)行不能被其他事務(wù)干擾一個事務(wù)內(nèi)部的操作及使用的數(shù)據(jù)對其他并發(fā)事務(wù)是隔離的并發(fā)執(zhí)行的各個事務(wù)之間不能互相干擾數(shù)據(jù)庫技術(shù)與應(yīng)用133.隔離性(數(shù)據(jù)庫技術(shù)與應(yīng)用146T1的修改被T2覆蓋了!

讀A=16

A←A-3寫回A=13①讀A=16

③A←A-1

寫回A=15

④T2T1數(shù)據(jù)庫技術(shù)與應(yīng)用14T1的修改被T數(shù)據(jù)庫技術(shù)與應(yīng)用1474.持續(xù)性(Durability)持續(xù)性也稱永久性(Permanence)一個事務(wù)一旦提交,它對數(shù)據(jù)庫中數(shù)據(jù)的改變就應(yīng)該是永久性的。接下來的其他操作或故障不應(yīng)該對其執(zhí)行結(jié)果有任何影響。數(shù)據(jù)庫技術(shù)與應(yīng)用154.持續(xù)性(數(shù)據(jù)庫技術(shù)與應(yīng)用148事務(wù)的特性保證事務(wù)ACID特性是事務(wù)處理的任務(wù)破壞事務(wù)ACID特性的因素多個事務(wù)并行運行時,不同事務(wù)的操作交叉執(zhí)行事務(wù)在運行過程中被強行停止數(shù)據(jù)庫技術(shù)與應(yīng)用16事務(wù)的特性保數(shù)據(jù)庫技術(shù)與應(yīng)用149第十章數(shù)據(jù)庫恢復(fù)技術(shù)10.1事務(wù)的基本概念10.2數(shù)據(jù)庫恢復(fù)概述10.3故障的種類10.4恢復(fù)的實現(xiàn)技術(shù)10.5恢復(fù)策略10.6具有檢查點的恢復(fù)技術(shù)10.7數(shù)據(jù)庫鏡像10.8Oracle的恢復(fù)技術(shù)10.9小結(jié)數(shù)據(jù)庫技術(shù)與應(yīng)用17第十章數(shù)據(jù)數(shù)據(jù)庫技術(shù)與應(yīng)用15010.2數(shù)據(jù)庫恢復(fù)概述故障是不可避免的計算機硬件故障系統(tǒng)軟件和應(yīng)用軟件的錯誤操作員的失誤惡意的破壞故障的影響運行事務(wù)非正常中斷破壞數(shù)據(jù)庫數(shù)據(jù)庫技術(shù)與應(yīng)用1810.2數(shù)數(shù)據(jù)庫技術(shù)與應(yīng)用151第十章數(shù)據(jù)庫恢復(fù)技術(shù)10.1事務(wù)的基本概念10.2數(shù)據(jù)庫恢復(fù)概述10.3故障的種類10.4恢復(fù)的實現(xiàn)技術(shù)10.5恢復(fù)策略10.6具有檢查點的恢復(fù)技術(shù)10.7數(shù)據(jù)庫鏡像10.8Oracle的恢復(fù)技術(shù)10.9小結(jié)數(shù)據(jù)庫技術(shù)與應(yīng)用19第十章數(shù)據(jù)數(shù)據(jù)庫技術(shù)與應(yīng)用152一、事務(wù)故障什么是事務(wù)故障某個事務(wù)在運行過程中由于種種原因未運行至正常終止點就夭折了事務(wù)故障的常見原因輸入數(shù)據(jù)有誤運算溢出違反了某些完整性限制某些應(yīng)用程序出錯并行事務(wù)發(fā)生死鎖…數(shù)據(jù)庫技術(shù)與應(yīng)用20一、事務(wù)故障什數(shù)據(jù)庫技術(shù)與應(yīng)用153事務(wù)故障的恢復(fù)發(fā)生事務(wù)故障時,夭折的事務(wù)可能已把對數(shù)據(jù)庫的部分修改寫回磁盤事務(wù)故障的恢復(fù):撤消事務(wù)(UNDO)強行回滾(ROLLBACK)該事務(wù)清除該事務(wù)對數(shù)據(jù)庫的所有修改,使得這個事務(wù)象根本沒有啟動過一樣數(shù)據(jù)庫技術(shù)與應(yīng)用21事務(wù)故障的恢復(fù)數(shù)據(jù)庫技術(shù)與應(yīng)用154二、系統(tǒng)故障什么是系統(tǒng)故障整個系統(tǒng)的正常運行突然被破壞所有正在運行的事務(wù)都非正常終止內(nèi)存中數(shù)據(jù)庫緩沖區(qū)的信息全部丟失外部存儲設(shè)備上的數(shù)據(jù)未受影響數(shù)據(jù)庫技術(shù)與應(yīng)用22二、系統(tǒng)故障什數(shù)據(jù)庫技術(shù)與應(yīng)用155系統(tǒng)故障的常見原因操作系統(tǒng)或DBMS代碼錯誤操作員操作失誤特定類型的硬件錯誤(如CPU故障)突然停電數(shù)據(jù)庫技術(shù)與應(yīng)用23系統(tǒng)故障的常見數(shù)據(jù)庫技術(shù)與應(yīng)用156系統(tǒng)故障的恢復(fù)

清除尚未完成的事務(wù)對數(shù)據(jù)庫的所有修改系統(tǒng)重新啟動時,恢復(fù)程序要強行撤消(UNDO)所有未完成事務(wù)將緩沖區(qū)中已完成事務(wù)提交的結(jié)果寫入數(shù)據(jù)庫系統(tǒng)重新啟動時,恢復(fù)程序需要重做(REDO)所有已提交的事務(wù)數(shù)據(jù)庫技術(shù)與應(yīng)用24系統(tǒng)故障的恢復(fù)數(shù)據(jù)庫技術(shù)與應(yīng)用15710.3故障的種類事務(wù)故障系統(tǒng)故障介質(zhì)故障數(shù)據(jù)庫技術(shù)與應(yīng)用2510.3故數(shù)據(jù)庫技術(shù)與應(yīng)用158三、介質(zhì)故障硬件故障使存儲在外存中的數(shù)據(jù)部分丟失或全部丟失介質(zhì)故障比前兩類故障的可能性小得多,但破壞性大得多數(shù)據(jù)庫技術(shù)與應(yīng)用26三、介質(zhì)故障硬數(shù)據(jù)庫技術(shù)與應(yīng)用159介質(zhì)故障的常見原因硬件故障磁盤損壞磁頭碰撞操作系統(tǒng)的某種潛在錯誤瞬時強磁場干擾數(shù)據(jù)庫技術(shù)與應(yīng)用27介質(zhì)故障的常見數(shù)據(jù)庫技術(shù)與應(yīng)用160介質(zhì)故障的恢復(fù)裝入數(shù)據(jù)庫發(fā)生介質(zhì)故障前某個時刻的數(shù)據(jù)副本重做自此時始的所有成功事務(wù),將這些事務(wù)已提交的結(jié)果重新記入數(shù)據(jù)庫數(shù)據(jù)庫技術(shù)與應(yīng)用28介質(zhì)故障的恢復(fù)數(shù)據(jù)庫技術(shù)與應(yīng)用161恢復(fù)操作的基本原理恢復(fù)操作的基本原理:冗余利用存儲在系統(tǒng)其它地方的冗余數(shù)據(jù)來重建數(shù)據(jù)庫中已被破壞或不正確的那部分?jǐn)?shù)據(jù)恢復(fù)的實現(xiàn)技術(shù):復(fù)雜一個大型數(shù)據(jù)庫產(chǎn)品,恢復(fù)子系統(tǒng)的代碼要占全部代碼的10%以上數(shù)據(jù)庫技術(shù)與應(yīng)用29恢復(fù)操作的基本數(shù)據(jù)庫技術(shù)與應(yīng)用162第十章數(shù)據(jù)庫恢復(fù)技術(shù)10.1事務(wù)的基本概念10.2數(shù)據(jù)庫恢復(fù)概述10.3故障的種類10.4恢復(fù)的實現(xiàn)技術(shù)10.5恢復(fù)策略10.6具有檢查點的恢復(fù)技術(shù)10.7數(shù)據(jù)庫鏡像10.8Oracle的恢復(fù)技術(shù)10.9小結(jié)數(shù)據(jù)庫技術(shù)與應(yīng)用30第十章數(shù)據(jù)數(shù)據(jù)庫技術(shù)與應(yīng)用16310.4恢復(fù)的實現(xiàn)技術(shù)恢復(fù)機制涉及的關(guān)鍵問題1.如何建立冗余數(shù)據(jù)數(shù)據(jù)轉(zhuǎn)儲(backup)日志文件(logging)2.如何利用這些冗余數(shù)據(jù)實施數(shù)據(jù)庫恢復(fù)

數(shù)據(jù)庫技術(shù)與應(yīng)用3110.4恢?jǐn)?shù)據(jù)庫技術(shù)與應(yīng)用164日志文件的內(nèi)容1.什么是日志文件日志文件(log)是用來記錄事務(wù)對數(shù)據(jù)庫的更新操作的文件2.日志文件的格式以記錄為單位的日志文件以數(shù)據(jù)塊為單位的日志文件數(shù)據(jù)庫技術(shù)與應(yīng)用32日志文件的內(nèi)容數(shù)據(jù)庫技術(shù)與應(yīng)用165日志文件的內(nèi)容(續(xù))3.日志文件內(nèi)容各個事務(wù)的開始標(biāo)記(BEGINTRAN

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論