第7章數(shù)據(jù)庫的安全性控制_第1頁
第7章數(shù)據(jù)庫的安全性控制_第2頁
第7章數(shù)據(jù)庫的安全性控制_第3頁
第7章數(shù)據(jù)庫的安全性控制_第4頁
第7章數(shù)據(jù)庫的安全性控制_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

7.1數(shù)據(jù)庫的安全性控制7.2數(shù)據(jù)庫系統(tǒng)的完整性7.3并發(fā)控制7.4數(shù)據(jù)庫備份7.5數(shù)據(jù)庫恢復(fù)技術(shù)7.1數(shù)據(jù)庫的安全性控制7.1.1數(shù)據(jù)庫系統(tǒng)安全主要風險(1)來自操作系統(tǒng)風險(2)來自管理風險(3)來自用戶風險(4)來自數(shù)據(jù)庫系統(tǒng)內(nèi)部風險7.1.2安全性控制1.用戶標識與鑒別2.用戶訪問權(quán)限控制3.視圖機制4.數(shù)據(jù)加密5.審計6.用戶定義的安全性措施7.數(shù)據(jù)庫備份與恢復(fù)7.1數(shù)據(jù)庫的安全性控制7.2數(shù)據(jù)庫系統(tǒng)的完整性7.3并發(fā)控制7.4數(shù)據(jù)庫備份7.5數(shù)據(jù)庫恢復(fù)技術(shù)7.2數(shù)據(jù)庫完整性1.概述1)什么是完整性?(1)保護數(shù)據(jù)庫中數(shù)據(jù)(2)正確性(合法性)數(shù)值型數(shù)據(jù)只能由數(shù)字組成(3)有效性1.數(shù)據(jù)是否在定義的有效范圍2.月份為1~12的整數(shù)(4)一致性(相容性)表示同一個事實的兩個數(shù)據(jù)應(yīng)相同(5)防止錯誤的數(shù)據(jù)進入數(shù)據(jù)庫造成無效的操作2)安全性和完整性的區(qū)別(1)安全性:防止非法用戶和非法操作(2)完整性:防止合法用戶向數(shù)據(jù)庫中加入不合語義的數(shù)據(jù)3)如何控制數(shù)據(jù)的完整性?

DBA向DBMS提出一組完整性規(guī)則2.完整性約束條件1約束對象:列級元組級關(guān)系級2靜態(tài)約束與動態(tài)約束靜態(tài)約束:數(shù)據(jù)庫每一個確定狀態(tài)所應(yīng)滿足的約束條件動態(tài)約束:數(shù)據(jù)庫從一種狀態(tài)向另一種狀態(tài)轉(zhuǎn)變時,新舊值之間所應(yīng)滿足的約束條件3六類完整性約束3.完整性控制參照完整性1外碼是否可以接受空值2刪除被參照的元組時的考慮3修改被參照關(guān)系中主碼的考慮4級聯(lián)受限置空忽略參照完整性職工號部門編號姓名…9801980298039804980501010203張三李四王五趙六錢七部門編號部門名稱…01020304經(jīng)理辦公室人事部公關(guān)部技術(shù)部職工表(R2)部門表(R1)主關(guān)系鍵外部關(guān)系鍵7.1數(shù)據(jù)庫的安全性控制7.2數(shù)據(jù)庫系統(tǒng)的完整性7.3并發(fā)控制7.4數(shù)據(jù)庫備份7.5數(shù)據(jù)庫恢復(fù)技術(shù)7.3.1事務(wù)(1)定義1.數(shù)據(jù)庫的邏輯工作單位2.用戶定義的一組操作序列(2)例子1.一組SQL語句2.一條SQL語句3.整個程序(3)事務(wù)定義語句1.BEGINTRANSACTION事務(wù)開始2.COMMIT提交事務(wù)的所有操作3.ROLLBACK(1)回滾(2)撤消事務(wù)中的操作,回滾到事務(wù)開始時的狀態(tài)(4)事務(wù)具有的四個特性(ACID特性)1.原子性(ATOMIC)(1)一個事務(wù)是一個不可分割的工作單位(2)事務(wù)中包括的諸操作要么都做,要么都不做2.一致性(CONSISTENCY)(1)事務(wù)必須是使數(shù)據(jù)庫從一個一致性狀態(tài)轉(zhuǎn)換到另一個一致性狀態(tài)(2)只要成功提交事務(wù),數(shù)據(jù)庫就能處于一致性狀態(tài)(3)公司劃帳例子3.隔離性(ISOLATION)(1)一個事務(wù)的執(zhí)行不能被其他事務(wù)干擾(2)并發(fā)執(zhí)行的各個事務(wù)之間不能互相干擾4.持續(xù)性(DURABILITY)(1)成功提交事務(wù)對數(shù)據(jù)的改變應(yīng)該是永久性的(2)接下來的操作或故障不應(yīng)該對其有任何影響7.3.2并發(fā)操作引起的問題并發(fā)操作不一致性的表現(xiàn)(1)丟失更新(修改)1.一事務(wù)的更新破壞了另一事務(wù)的更新結(jié)果(2)污讀(讀“臟”數(shù)據(jù))1.事務(wù)甲更新了數(shù)據(jù)x2.事務(wù)乙讀取了更新后的數(shù)據(jù)x3.事務(wù)甲撤消更新,數(shù)據(jù)x恢復(fù)原值(ROLLBACK)4.事務(wù)乙得到的數(shù)據(jù)與數(shù)據(jù)庫內(nèi)容不一致(3)不能重讀1.事務(wù)甲讀取數(shù)據(jù)x2.事務(wù)乙讀取x并更新x3.事務(wù)甲再次讀取x以進行校核,得到不一致結(jié)果并發(fā)存取款操作(丟失修改)t0t1t2t3t4時間事務(wù)1事務(wù)2余額1000余額1000讀余額,得1000取900,余100存100,余1100讀余額,得1000污讀(讀“臟”數(shù)據(jù))t0t1t2t3時間事務(wù)1事務(wù)2余額1000余額1000更新余額為2000回滾,余額1000讀余額,得2000不可重復(fù)讀t0t1t2t3時間事務(wù)1事務(wù)2讀X

X=100X=X+100

X=200讀X

X=200

與第一次讀不一致7.3.3封鎖1)目的(1)保證能夠正確地調(diào)度并發(fā)操作2)概念(1)某事務(wù)對某個數(shù)據(jù)操作之前,先對其加鎖,其他事務(wù)不能更新加鎖的數(shù)據(jù),直到釋放加鎖為止1.排他式封鎖(X)1.禁止并發(fā)操作2.某事務(wù)對數(shù)據(jù)加上排他鎖,該事務(wù)可讀寫數(shù)據(jù),其他事務(wù)不能再對數(shù)據(jù)加任何類型的鎖,也就不能讀寫該數(shù)據(jù),只有等待開鎖2.共享性封鎖(S)1.允許其他事務(wù)對同一數(shù)據(jù)進行檢索,但不得對同一數(shù)據(jù)進行修改操作2.其他事務(wù)對加了共享鎖的數(shù)據(jù)可讀不可寫封鎖類型的相容矩陣事務(wù)1事務(wù)2排它鎖(X)共享鎖(S)不加鎖(-)排它鎖(X)不相容不相容相容共享鎖(S)不相容相容相容不加鎖(-)相容相容相容3.封鎖協(xié)議(1)協(xié)議內(nèi)容1.何時申請封鎖(排他鎖、共享鎖)2.封鎖的持續(xù)時間(何時釋放封鎖)(2)三級封鎖協(xié)議(保證數(shù)據(jù)一致性的封鎖協(xié)議)1.一級封鎖協(xié)議(1)事務(wù)在修改數(shù)據(jù)之前先加排他鎖(讀數(shù)據(jù)時不加鎖),直到事務(wù)結(jié)束才釋放(2)可防止丟失修改(更新)(3)不能保證可重復(fù)讀和污讀解決丟失更新問題時間事務(wù)T1A的值事務(wù)T2t01000t1讀A=1000t2XLOCKAt3A=A-100不能XLOCKAt4更新A等待…t5UNLOCKA等待…t6900等待…t7讀A=900t8XLOCKAt9A=A-200t10更新At11UNLOCKAt127002.二級封鎖協(xié)議(1)在一級封鎖協(xié)議之上(2)在讀取數(shù)據(jù)前加共享鎖,讀完后即釋放共享鎖(3)可防止丟失更新(4)可進一步防止污讀解決“污讀”問題時間事務(wù)T1A的值事務(wù)T2t01000t1讀A=1000t2XLOCKAt3A=A-100想讀A,加S鎖失敗t4更新A等待┅t5900等待┅t6ROLLBACK等待┅t71000等待┅t8UNLOCKA1000等待┅t9SLOCKAt10讀A=1000t11UNLOCKAt1210003.三級封鎖協(xié)議(1)在一級封鎖協(xié)議之上(2)讀取數(shù)據(jù)之前加共享鎖,直到事務(wù)結(jié)束才釋放(3)進一步防止了可重復(fù)讀解決“不可重讀”問題時間事務(wù)T1A的值事務(wù)T2t01000t1欲讀A,SLOCKA成功1000t2讀

A=10001000t31000想更新A,加X鎖失敗t41000等待┅t51000等待┅t61000等待┅t7讀

A=10001000等待┅t8COMMIT1000等待┅t9UNLOCKA等待┅t10XLOCKAt11UPDATEA=A-200t12COMMITt13800不同級別的封鎖協(xié)議比較表排他鎖共享鎖一致性保證操作結(jié)束釋放事務(wù)結(jié)束釋放操作結(jié)束釋放事務(wù)結(jié)束釋放不丟失數(shù)據(jù)不污讀可重復(fù)讀一級封鎖協(xié)議√√二級封鎖協(xié)議√√√√三級封鎖協(xié)議√√√√√7.1數(shù)據(jù)庫的安全性控制7.2數(shù)據(jù)庫系統(tǒng)的完整性7.3并發(fā)控制7.4數(shù)據(jù)庫備份7.5數(shù)據(jù)庫恢復(fù)技術(shù)7.4數(shù)據(jù)庫備份7.4.1基本概念數(shù)據(jù)備份(DataBackup)是將原始數(shù)據(jù)拷貝到一個專用介質(zhì)媒體中進行存儲,在遇到硬件故障、軟件崩潰、病毒入侵、人為誤操作等災(zāi)難性事件造成原始數(shù)據(jù)損壞或丟失的情況下,通過特定的數(shù)據(jù)恢復(fù)機制將存儲數(shù)據(jù)副本恢復(fù)到系統(tǒng)的過程。數(shù)據(jù)備份不是簡單的數(shù)據(jù)拷貝或復(fù)制,數(shù)據(jù)的有效管理也是系統(tǒng)的重要組成部分。完成數(shù)據(jù)庫備份的功能模塊稱之為數(shù)據(jù)備份系統(tǒng)。7.4.2數(shù)據(jù)備份系統(tǒng)的分類數(shù)據(jù)備份系統(tǒng)主要有以下幾種分類方法。1.按照備份對象的不同,分為SQLServer、Sybase、Oracle數(shù)據(jù)庫備份和各種文檔、文件備份。2.按照備份介質(zhì)的不同,分為光盤備份、磁帶備份和磁盤備份。3.按照系統(tǒng)與備份設(shè)備相對位置的不同,分為異地遠程備份和本地備份。4.按照備份自動化程度的不同,分為自動方式備份和人工方式備份。5.按照網(wǎng)絡(luò)實現(xiàn)備份方式的不同,分為單機備份和網(wǎng)絡(luò)聯(lián)機備份。6.按照備份時間的不同,分為定時備份和即時備份。7.按照數(shù)據(jù)備份功能的不同,分為完全備份、增量備份和差異備份.7.4.3數(shù)據(jù)備份系統(tǒng)的工作原理基本工作原理是利用備份源系統(tǒng)把備份系統(tǒng)從指定的系統(tǒng)中提取出來,保障及時同步更新備份數(shù)據(jù)與關(guān)鍵數(shù)據(jù),利用備份源代理程序使操作系統(tǒng)、數(shù)據(jù)庫和備份任務(wù)獲得相應(yīng)的備份數(shù)據(jù);利用備份目標系統(tǒng)把備份數(shù)據(jù)存儲到備份介質(zhì),完成介質(zhì)管理和備份設(shè)備管理等功能;利用備份管理器進行管理和運行備份任務(wù),完成任務(wù)調(diào)度管理、數(shù)據(jù)轉(zhuǎn)移管理、備份用戶管理、備份跟蹤和審計管理、備份數(shù)據(jù)庫管理等功能。備份源系統(tǒng)和備份管理器進行通訊,并將來自備份源系統(tǒng)的數(shù)據(jù)傳送至備份目標系統(tǒng)。7.4.4數(shù)據(jù)備份系統(tǒng)的主流備份技術(shù)1.冷備份與熱備份技術(shù)2.快照技術(shù)3.RAID技術(shù)4.鏡像技術(shù)5.寫前拷貝技術(shù)6.VDI技術(shù)7.虛擬介質(zhì)技術(shù)

7.1數(shù)據(jù)庫的安全性控制7.2數(shù)據(jù)庫系統(tǒng)的完整性7.3并發(fā)控制7.4數(shù)據(jù)庫備份7.5數(shù)據(jù)庫恢復(fù)技術(shù)7.5數(shù)據(jù)庫恢復(fù)技術(shù)7.5.1數(shù)據(jù)庫恢復(fù)概述數(shù)據(jù)庫的恢復(fù)是指系統(tǒng)發(fā)生故障后,將數(shù)據(jù)從錯誤狀態(tài)恢復(fù)到某一正確狀態(tài)的功能。對于事務(wù)故障、系統(tǒng)故障和介質(zhì)故障3種不同的故障類型,DBMS有不同的恢復(fù)方法。DBMS提供了恢復(fù)子系統(tǒng),用來保證各種故障發(fā)生后,能把數(shù)據(jù)庫中的數(shù)據(jù)從錯誤狀態(tài)恢復(fù)到某種邏輯一致的狀態(tài)。即保證各個事務(wù)中的操作要么全部完成,要么全部不做。數(shù)據(jù)庫系統(tǒng)所采用的恢復(fù)技術(shù)是否行之有效是衡量系統(tǒng)性能優(yōu)劣的重要指標。7.5.2恢復(fù)的基本原理數(shù)據(jù)庫恢復(fù)的基本原理十分簡單,就是數(shù)據(jù)的冗余,也就是說,預(yù)先在數(shù)據(jù)庫系統(tǒng)外,備份正確狀態(tài)時的影像數(shù)據(jù),當發(fā)生故障時,再根據(jù)這些影像數(shù)據(jù)來重建數(shù)據(jù)庫。因此恢復(fù)系統(tǒng)應(yīng)該提供兩種功能:第一,建立冗余數(shù)據(jù);第二,根據(jù)冗余數(shù)據(jù)恢復(fù)數(shù)據(jù)庫。原理雖然簡單,但實現(xiàn)技術(shù)卻相當復(fù)雜。1.日志文件法(Logging)日志文件是用來記錄事務(wù)對數(shù)據(jù)庫的更新操作的文件。對數(shù)據(jù)庫的每次修改,都將被修改項目的舊值和新值寫在一個叫做運行日志的文件中,目的是為數(shù)據(jù)庫的恢復(fù)保留詳細的數(shù)據(jù)。2.數(shù)據(jù)轉(zhuǎn)儲法(DataDump)數(shù)據(jù)轉(zhuǎn)儲是指定期地將整個數(shù)據(jù)庫復(fù)制到多個存儲設(shè)備(如磁帶、磁盤)上保存起來的過程,它是數(shù)據(jù)庫恢復(fù)中采用的基本手段。轉(zhuǎn)儲的數(shù)據(jù)文本稱為后備副本或后援副本,當數(shù)據(jù)庫遭到破壞后就可利用后援副本把數(shù)據(jù)庫有效地加以恢復(fù)。7.5.3故障恢復(fù)的方法1.事務(wù)故障的恢復(fù)當事務(wù)發(fā)生故障時,恢復(fù)子系統(tǒng)應(yīng)利用日志文件撤銷(UNDO)此事務(wù)對數(shù)據(jù)庫進行的修改。事務(wù)故障的恢復(fù)通常是由系統(tǒng)自動完成,用戶并不知道系統(tǒng)是如何進行事務(wù)恢復(fù)的。事務(wù)故障的恢復(fù)步驟如下。(1)反向掃描日志文件(即從最后向前掃描日志文件),查找該事務(wù)的更新操作。(2)對該事務(wù)的更新操作執(zhí)行逆操作,即將日志記錄中“更新前的值”寫入數(shù)據(jù)庫。如果記錄中是插入操作,則相當于做刪除操作(因此時“更新前的值”為空);若記錄中是刪除操作,則做插入操作;若是修改操作,則相當于用修改前的值代替修改后的值。(3)重復(fù)執(zhí)行(1)和(2),恢復(fù)該事務(wù)的其他更新操作,直至讀到該事務(wù)的開始標記,事務(wù)故障恢復(fù)就完成了。2.系統(tǒng)故障的恢復(fù)恢復(fù)操作就是要撤銷故障發(fā)生時未完成的事務(wù),重做已完成的事務(wù)。系統(tǒng)故障的恢復(fù)是由系統(tǒng)在重新啟動時自動完成的,不需要用戶干預(yù)。系統(tǒng)故障的恢復(fù)步驟如下

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論