事務及事務管理概念_第1頁
事務及事務管理概念_第2頁
事務及事務管理概念_第3頁
事務及事務管理概念_第4頁
事務及事務管理概念_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

事務及事務管理概念1事務的基本概念事務(Transaction)用戶定義的一個對數(shù)據(jù)庫讀寫操作序列一個不可分割的工作單位數(shù)據(jù)庫恢復和并發(fā)控制的基本單位數(shù)據(jù)庫系統(tǒng)中通常有多個事務并行運行2SQL語言中定義事務的語句事務的開始和結束可以由用戶顯式控制。如果用戶沒有定義,則由DBMS按缺省規(guī)定自動劃分事務。SQL定義事務的語句Begintransaction(事務開始)Commit(事務提交,正常結束,將更新結果寫入磁盤)Rollback(事務回滾,撤銷事務中所有已完成的更新)3BEGINTRANSACTION讀賬戶甲的余額balance;balance=balance–amount;//amount為轉賬金額if(balance<0)then{打印‘金額不足,不能轉賬’;

ROLLBACK;//撤銷剛才的修改,恢復事務}else{讀賬戶乙的金額balance1;balance1=balance1+amount;寫回balance1;

COMMIT;}事務示例為什么要定義事務?4事務的性質(zhì)(ACID特性)原子性(Atomicity)事務中的操作要么都做,要么都不做(AllorNone)一致性(Consistency)事務執(zhí)行的結果必須使數(shù)據(jù)庫從一個一致性狀態(tài)變到另一個一致性狀態(tài)與原子性密切相關隔離性(Isolation)并發(fā)執(zhí)行的各事務不能相互干擾持續(xù)性/永久性(Durability)事務一旦提交,它對數(shù)據(jù)庫的更新不再受后繼操作或故障的影響★

DBMS中事務處理必須保證其ACID特性,這樣才能保證數(shù)據(jù)庫中數(shù)據(jù)的安全和正確5事務型DBMS中必備的機制事務是恢復和并發(fā)控制的基本單位恢復機制與并發(fā)控制機制的提出事務在運行過程中因某種故障被強行終止,數(shù)據(jù)庫一致性被破壞,需進行恢復多個事務并行運行時,不同事務的各種操作交叉進行,為保證各事務的執(zhí)行互不干擾,需進行并發(fā)控制6事務管理之數(shù)據(jù)庫恢復技術7要點故障及其類型數(shù)據(jù)庫恢復實現(xiàn)技術數(shù)據(jù)庫恢復策略8數(shù)據(jù)庫恢復概述數(shù)據(jù)庫由于某些故障發(fā)生可能會導致數(shù)據(jù)庫被破壞或影響數(shù)據(jù)庫中數(shù)據(jù)的一致性(或完整性、正確性)當系統(tǒng)運行過程中發(fā)生故障時,數(shù)據(jù)庫恢復技術將數(shù)據(jù)庫從錯誤狀態(tài)恢復到某個一致狀態(tài),它是數(shù)據(jù)庫可靠性的保證。數(shù)據(jù)庫恢復機制是衡量某DBMS系統(tǒng)性能的指標之一,對系統(tǒng)可靠性起決定作用,對運行效率有很大影響9故障的種類事務內(nèi)部故障事務在運行至正常終止點(commit或rollback)前被終止包括能由事務所在程序處理的,如條件不滿足等不能由事務所在程序處理的,如運算溢出等系統(tǒng)故障(system)系統(tǒng)重啟、OS故障、DBMS代碼錯誤、掉電等介質(zhì)故障(medium)磁盤損壞等計算機病毒(virus)非預期故障10各類故障對數(shù)據(jù)庫的可能影響數(shù)據(jù)庫本身被破壞,使數(shù)據(jù)庫中全部或部分數(shù)據(jù)丟失如系統(tǒng)故障、介質(zhì)故障、計算機病毒等數(shù)據(jù)庫沒有被破壞,但因事務的運行被非正常終止而使數(shù)據(jù)庫數(shù)據(jù)失去一致性(正確性)如事務內(nèi)部故障、系統(tǒng)故障、計算機病毒等11恢復的實現(xiàn)技術數(shù)據(jù)庫恢復的基本原理利用存儲在系統(tǒng)別處的冗余數(shù)據(jù)來重建恢復技術的兩個關鍵如何建立冗余數(shù)據(jù)數(shù)據(jù)轉儲登錄日志文件如何利用冗余數(shù)據(jù)恢復數(shù)據(jù)庫12建立冗余數(shù)據(jù)的方法一數(shù)據(jù)轉儲:定期進行磁盤備份形成后備副本具體方法如下示意由DBA定義適當?shù)霓D儲周期每次轉儲全部數(shù)據(jù)庫每次轉儲更新過的數(shù)據(jù)轉儲和用戶事務可以并發(fā)執(zhí)行轉儲期間不執(zhí)行任何用戶事務13建立冗余數(shù)據(jù)的方法二登記日志文件(Logging)日志文件:記錄事務對數(shù)據(jù)庫的更新操作以記錄為單位的日志文件事務的開始標記,事務的結束標記各個事務的所有更新操作事務標識TransID,操作類型UpdateType,操作對象RecordID,更新前的舊值OldValue,更新后的新值NewValue以數(shù)據(jù)塊為單位的日志文件事務標識,被更新的數(shù)據(jù)塊14登記日志文件必須遵循的原則登記的次序嚴格按并發(fā)事務執(zhí)行的時間次序必須先寫日志文件,后寫數(shù)據(jù)庫(WriteAfterLogging,WAL)15恢復的實現(xiàn)★通常在一個數(shù)據(jù)庫中綜合使用數(shù)據(jù)轉儲和登錄日志文件這兩種方法,配合使用后備副本和日志文件進行數(shù)據(jù)庫恢復16利用日志文件進行數(shù)據(jù)庫恢復事務故障恢復和系統(tǒng)故障恢復須用日志文件通常綜合數(shù)據(jù)庫后備副本和日志文件將數(shù)據(jù)庫恢復至某個一致狀態(tài)(視轉儲方法而定)恢復時,對故障發(fā)生時已提交的事務進行重做(Redo,再執(zhí)行),而對未提交的事務進行撤銷(Undo,逆操作)正常運行:靜態(tài)轉儲運行事務故障發(fā)生點登記日志文件TaTbTf介質(zhì)故障恢復:重裝后備副本利用日志文件恢復事務繼續(xù)運行登記日志文件17恢復策略事務故障的恢復反向掃描日志文件,Undo事務中的更新操作由系統(tǒng)自動完成系統(tǒng)故障的恢復首先正向掃描日志文件,生成Redo和Undo隊列然后對Undo隊列中的各事務進行Undo最后對Redo隊列中的各事務進行Redo由系統(tǒng)在重啟時自動完成介質(zhì)故障的恢復首先裝入最新后備副本和有關日志文件副本,Redo已提交的事務,使數(shù)據(jù)庫恢復至故障前某一時刻的一致狀態(tài)裝入副本由DBA介入完成,并執(zhí)行DBMS提供的恢復命令18事務管理之并發(fā)控制技術19要點并發(fā)操作及影響并發(fā)操作的可串行性并發(fā)控制及實現(xiàn)技術20序言事務并行地運行可充分利用系統(tǒng)資源,事務是并發(fā)控制的基本單位多用戶數(shù)據(jù)庫系統(tǒng)中允許多個用戶同時使用數(shù)據(jù)庫,即在同一時刻可能有多個事務并行運行

同時并行方式單處理機系統(tǒng)中,事務并行實際上是這些事務的并行操作輪流交叉運行

交叉并行方式21并發(fā)控制機制的提出當多個用戶并發(fā)地存取數(shù)據(jù)庫時可能出現(xiàn)多個事務同時存取同一數(shù)據(jù)的情況,并發(fā)控制機制將對這些并發(fā)操作加以控制以保證每個事務的ACID特性,確保數(shù)據(jù)庫的一致性并發(fā)控制機制是衡量某DBMS系統(tǒng)性能的指標之一228.1并發(fā)控制概述這種數(shù)據(jù)庫的不一致是由并發(fā)操作引起的機票數(shù)量AA=16讀讀A=A-1A=A-1A=15A=15售票點售票點A=16A=16出售1出售1事務T1事務T223并發(fā)操作引起的丟失修改并發(fā)操作引起的數(shù)據(jù)不一致性包括三類丟失修改不可重復讀讀臟數(shù)據(jù)丟失修改事務T1對數(shù)據(jù)的修改被事務T2的修改覆蓋T1讀A=16A=A-1寫回A=15T2讀A=16A=A-1寫回A=1524并發(fā)操作引起的不可重復讀不可重復讀事務T1讀取某一數(shù)據(jù)后,事務T2對其做了修改,當T1按同樣條件再讀時得到不同的值事務T1讀取某些數(shù)據(jù)后,事務T2刪除(或插入)了一些記錄,當T1按同樣條件再讀時發(fā)現(xiàn)少(或多)了一些記錄T1讀A=1,B=2求A+B=3讀A=1,B=4求A+B=5T2讀B=2B=B*2寫回B=425并發(fā)操作引起的讀臟數(shù)據(jù)讀臟數(shù)據(jù)事務T1修改了某數(shù)據(jù)并寫回磁盤,事務T2讀取了同一數(shù)據(jù)后,T1由于某種原因被撤銷,被修改的值復原,此時T2讀到的數(shù)據(jù)與數(shù)據(jù)庫中的數(shù)據(jù)不一致T1讀C=1C=C*2寫回C=2ROLLBACKC恢復為1T2讀C=226小結產(chǎn)生上述三類不一致性的主要原因并發(fā)操作破壞了事務的隔離性,事務間相互干擾并發(fā)控制的主要技術封鎖技術(Locking)★時間戳技術(Timestamp)其他278.2封鎖概念事務T在對某個數(shù)據(jù)對象(如數(shù)據(jù)庫、表、記錄等)操作之前,首先向系統(tǒng)發(fā)出加鎖請求以便獲得對數(shù)據(jù)對象相應的控制在事務T釋放它所獲得的鎖之前,其他事務不能更新此數(shù)據(jù)對象28鎖的類型排它鎖(eXclusivelock):寫鎖若事務T對數(shù)據(jù)對象A加上X鎖,則只允許T讀取和修改A,其它任何事務都不能再對A加任何類型的鎖,直到T釋放A上的鎖共享鎖(Sharelock):讀鎖若事務T對數(shù)據(jù)對象A加上S鎖,則事務T可以讀A但不能修改A,其它事務只能再對A加S鎖,而不能加X鎖,直到T釋放A上的S鎖29鎖的相容矩陣Y:相容的請求N:不相容的請求T2T1XS-XNNYSNYY-YYY308.3封鎖協(xié)議有了兩種基本封鎖,還需要什么約定?封鎖協(xié)議的概念何時申請加鎖、持鎖時間、何時釋放等規(guī)則不同的封鎖協(xié)議所達到的系統(tǒng)一致性不同31三個級別的封鎖協(xié)議一級封鎖協(xié)議內(nèi)容:事務T在修改數(shù)據(jù)R之前必須先對其加X鎖,直至事務結束事務結束包括正常結束(COMMIT)和非正常結束(ROLLBACK)評價:是否可解決丟失修改?可重復讀?讀臟數(shù)據(jù)?可防止×不能保證×不能防止32三個級別的封鎖協(xié)議二級封鎖協(xié)議內(nèi)容:讀數(shù)據(jù)前加S鎖,讀完即釋放寫數(shù)據(jù)前加X鎖直至事務結束評價:是否可解決丟失修改?可重復讀?讀臟數(shù)據(jù)?可防止×不能保證可防止33三個級別的封鎖協(xié)議三級封鎖協(xié)議內(nèi)容:讀數(shù)據(jù)前加S鎖直至事務結束寫數(shù)據(jù)前加X鎖直至事務結束評價:是否可解決丟失修改?可重復讀?讀臟數(shù)據(jù)?可防止能保證可保證34數(shù)據(jù)庫安全性35數(shù)據(jù)庫安全性和完整性數(shù)據(jù)庫安全性保護數(shù)據(jù)庫防止惡意破壞和非法的存取防范對象是非法用戶和非法操作369.1計算機安全性概論

問題的提出數(shù)據(jù)庫的一大特點是數(shù)據(jù)可以共享,但數(shù)據(jù)共享必然帶來數(shù)據(jù)庫的安全性問題數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)共享是在DBMS統(tǒng)一的嚴格的控制之下的共享,即只允許有合法使用權限的用戶訪問允許他存取的數(shù)據(jù)數(shù)據(jù)庫的安全性是指保護數(shù)據(jù)庫,防止因用戶非法使用數(shù)據(jù)庫造成數(shù)據(jù)泄露、更改或破壞。數(shù)據(jù)庫系統(tǒng)的安全保護措施是否有效是數(shù)據(jù)庫系統(tǒng)主要的性能指標之一數(shù)據(jù)庫的安全性和計算機系統(tǒng)的安全是緊密聯(lián)系、互相支持的37數(shù)據(jù)庫安全性控制計算機系統(tǒng)的安全模型

應用DBMSOS

DB低高安全性控制層次方法:

用戶標識和鑒定

存取控制審計視圖

操作系統(tǒng)安全保護

密碼存儲38非法使用數(shù)據(jù)庫的情況用戶編寫一段合法的程序繞過DBMS及其授權機制,通過操作系統(tǒng)直接存取、修改或備份數(shù)據(jù)庫中的數(shù)據(jù);直接或編寫應用程序執(zhí)行非授權操作;通過多次合法查詢數(shù)據(jù)庫從中推導出一些保密數(shù)據(jù)例:某數(shù)據(jù)庫應用系統(tǒng)禁止查詢單個人的工資,但允許查任意一組人的

溫馨提示

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

評論

0/150

提交評論