版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第5章數(shù)據(jù)庫保護(hù)5.1概述(summarize)5.2安全保護(hù)(securityprotection)5.3完整性保護(hù)(integralityprotection)5.4事務(wù)及事務(wù)特性(transactionandit'scharacteristics)5.5并發(fā)控制技術(shù)(technologyofcontrolsimultaneously)5.6數(shù)據(jù)庫恢復(fù)技術(shù)(technologyofrestoringDB)管理資源吧(),提供海量管理資料免費(fèi)下載!5.1概述(summarize)必要性:共享數(shù)據(jù)
任務(wù):
安全性控制(SecurityControl)
完整性控制(IntegrityConstraints)
并發(fā)控制(ConcurrencyControl)
DB恢復(fù)(DBRecovery)管理資源吧(),提供海量管理資料免費(fèi)下載!5.2安全保護(hù)(securityprotection)5.2.1概述
1.問題的提出信息安全的重要性
人員硬件無意地泄露數(shù)據(jù)?軟件可能改變數(shù)據(jù)?通信天災(zāi)有意地破壞數(shù)據(jù)?措施
管理資源吧(),提供海量管理資料免費(fèi)下載!5.2安全保護(hù)(securityprotection)計算機(jī)系統(tǒng)安全范疇硬件安全軟件安全數(shù)據(jù)安全計算機(jī)系統(tǒng)三類安全性問題技術(shù)安全管理安全政策法規(guī)
管理資源吧(),提供海量管理資料免費(fèi)下載!5.2安全保護(hù)(securityprotection)2.一般計算機(jī)系統(tǒng)安全控制機(jī)制計算機(jī)系統(tǒng)安全措施的軟件安全涉及到:操作系統(tǒng)網(wǎng)絡(luò)系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)特點(diǎn):層層設(shè)防分頭把關(guān)相互配合共保安全
泄露改變
第一道防線第二道防線第三道防線損壞數(shù)據(jù)財產(chǎn)預(yù)防性措施檢測性措施糾正性措施消極因素
威脅危險管理資源吧(),提供海量管理資料免費(fèi)下載!5.2安全保護(hù)(securityprotection)3.DBS安全概念
——防止對DB中的數(shù)據(jù)的非授權(quán)使用。是指保護(hù)數(shù)據(jù)庫,以防止不合法的使用所造成的數(shù)據(jù)泄露、更改或破壞。(避免泄露、更改或破壞)。在妥當(dāng)?shù)臅r刻,以妥當(dāng)?shù)男问?,向妥?dāng)?shù)娜?,提供妥?dāng)?shù)臄?shù)據(jù)。
4.DBS中的一般方法
1)用戶鑒別2)存取控制3)密文存儲
4)審計5)子模式隔離管理資源吧(),提供海量管理資料免費(fèi)下載!5.2安全保護(hù)(securityprotection)5.2.2用戶鑒別系統(tǒng)提供一定的方式讓用戶標(biāo)識自己的名字和身份,系統(tǒng)進(jìn)行核實,通過鑒定后才提供系統(tǒng)使用權(quán)。每次用戶要求進(jìn)入系統(tǒng)時,由系統(tǒng)將用戶提供的身份標(biāo)識與系統(tǒng)內(nèi)部記錄的用戶合法標(biāo)識進(jìn)行核對,通過鑒定后才提供對系統(tǒng)的使用權(quán)。常用方法口令過程識別上機(jī)密碼卡指紋、聲音、照片等回答問題
管理資源吧(),提供海量管理資料免費(fèi)下載!5.2安全保護(hù)(securityprotection)1.口令:口令是常用的一種用戶標(biāo)識
①固定口令
②隨機(jī)口令
③口令時限2.可讀聲份卡片聲波、指紋、簽名、圖像3.回答問題用戶名用戶標(biāo)識……管理資源吧(),提供海量管理資料免費(fèi)下載!5.2安全保護(hù)(securityprotection)5.2.3
存取控制
1.存取控制對于獲得上機(jī)權(quán)后又進(jìn)一步發(fā)出存取數(shù)據(jù)庫操作的戶,DBMS查找數(shù)據(jù)字典,根據(jù)存取權(quán)限對操作的合法性進(jìn)行檢查,若用戶的操作請求超出了定義的權(quán)限,系統(tǒng)將拒絕執(zhí)行此操作。
2.方法定義用戶權(quán)限合法權(quán)限檢查
管理資源吧(),提供海量管理資料免費(fèi)下載!5.2安全保護(hù)(securityprotection)3.自主存取控制(DAC)方法自主存取控制DAC(DiscretionaryAccessControl)在TCSEC/TDI安全級別中,自主存取控制處于C1級。是由用戶或DBA定義存取權(quán)限的一種控制策略。目前SQL標(biāo)準(zhǔn)對DAC提供支持,通過SQL的GRANT和REVOKE命令實現(xiàn)。用戶權(quán)限數(shù)據(jù)對象操作類型授權(quán)語句
GRANTREVOKE
訪問權(quán)限由兩個要素組成:數(shù)據(jù)對象和操作類型系統(tǒng)通過控制它們防止非授權(quán)訪問管理資源吧(),提供海量管理資料免費(fèi)下載!5.2安全保護(hù)(securityprotection)
DB數(shù)據(jù)對象名:模式、子模式、表、屬性(精度)
操作類型:Create,Select,update,insert,delete,all
其它:如操作時間、范圍,…
數(shù)據(jù)對象和操作權(quán)限對應(yīng)表對象
對象類型
操作權(quán)限
屬性列
TABLE
SELECT,INSERT,UPDATE,DELETEALLPRIVIEGES
視圖
TABLE
SELECT,INSERT,UPDATE,DELETEALLPRIVIEGES
基本表
TABLE
SELECT,INSERT,UPDATE,ALTER,INDEX,DELETEALLPRIVIEGES
數(shù)據(jù)庫
DATABASE
CREATETAB
管理資源吧(),提供海量管理資料免費(fèi)下載!5.2安全保護(hù)(securityprotection)控制訪問授權(quán)命令的組成SQL語言的數(shù)據(jù)訪問控制命令授權(quán)命令GRANT收回授權(quán)REVOKE
命令格式命令格式
用戶名數(shù)據(jù)對象名操作類型其他GRANT<權(quán)限>[,<權(quán)限>]...[ON<對象類型><對象名>]
TO<用戶>[,<用戶>|PUBLIC]...[WITHGRANTOPTION];REVOKE<權(quán)限>[,<權(quán)限>]...
[ON<對象類型><對象名>]
FROM<用戶>[,<用戶>|public]...管理資源吧(),提供海量管理資料免費(fèi)下載!5.2安全保護(hù)(securityprotection)4.強(qiáng)制存取控制(MAC)方法所謂MAC(MandatoryAccessControl)是為保證更高程度的安全性,按照TDI/TCSEC標(biāo)準(zhǔn)中的安全策略的要求,所采取強(qiáng)制的存取檢查手段。MAC在標(biāo)準(zhǔn)中處于C2級。它不是用戶能直接感知或進(jìn)行控制的。適用于對數(shù)據(jù)有嚴(yán)格而固定密級分類的部門。
1)實體類別主體(用戶)
客體(數(shù)據(jù))
2)敏感度標(biāo)記(label)許可證級別(ClearanceLevel)密級(ClassificationLevel)絕密(TopSecret)、機(jī)密(Secret)可信(Confidential)、公開(Public)
管理資源吧(),提供海量管理資料免費(fèi)下載!5.2安全保護(hù)(securityprotection)
3)存取規(guī)則當(dāng)某一用戶(主體)以某一許可證標(biāo)記進(jìn)入系統(tǒng)后,系統(tǒng)要求他對任何客體的存取必須遵循如下規(guī)則:僅當(dāng)主體的許可證級別大于或等于客體的密級時,該主體才能讀取相應(yīng)的客體;僅當(dāng)主體的許可證級別等于或小于客體的密級時,該主體才能寫相應(yīng)的客體。規(guī)則禁止擁有高許可證級別的主體更新低密級的數(shù)據(jù)對象,從而防止了敏感數(shù)據(jù)的泄漏。
MAC對數(shù)據(jù)本身進(jìn)行密級標(biāo)記,無論數(shù)據(jù)如何復(fù)制,標(biāo)記與數(shù)據(jù)是不可分割的整體。只有符合密級標(biāo)記要求的用戶才可以操作相應(yīng)數(shù)據(jù)。管理資源吧(),提供海量管理資料免費(fèi)下載!5.2安全保護(hù)(securityprotection)最高密級主體最低密級主體管理資源吧(),提供海量管理資料免費(fèi)下載!5.2安全保護(hù)(securityprotection)DAC和MAC共同構(gòu)成DBMS的安全機(jī)制安全檢查DAC檢查MAC檢查SQL語法分析&語義檢查繼續(xù)管理資源吧(),提供海量管理資料免費(fèi)下載!5.2安全保護(hù)(securityprotection)5.視圖隔離機(jī)制視圖是虛表,就象架設(shè)在用戶與基表之間的一道橋梁,用戶可以對視圖引用的數(shù)據(jù)進(jìn)行操作,也可以直接訪問基表,但對安全級別要求較高的數(shù)據(jù)一般通過視圖進(jìn)行訪問,從而避免直接訪問基表中其他數(shù)據(jù)。對于終端用戶,雖然數(shù)據(jù)庫中的數(shù)據(jù)是面向全局的,但通過視圖隔離,他只能看到專門為他定義的視圖中與自己相關(guān)的數(shù)據(jù)。其他與他無關(guān)的數(shù)據(jù)被子模式即視圖隔離或屏蔽了。
USER-2通過VIEW-1可以訪問COLUMN-1而無法訪問COLUMN-2,這就是VIEW-1的屏蔽作用。
CREATEVIEWVIEW-1
ASSELECTCOLUMN-1FROMTABLE-1
GRANTALLONVIEW-1TOUSER-2管理資源吧(),提供海量管理資料免費(fèi)下載!5.2安全保護(hù)(securityprotection)管理資源吧(),提供海量管理資料免費(fèi)下載!5.2安全保護(hù)(securityprotection)
4)攻擊審計已發(fā)生攻擊操作及危害系統(tǒng)安全事件的檢測和審計。追蹤惡意破壞活動。
2.技術(shù)
1)靜態(tài)技術(shù)
利用軟件設(shè)計說明書、流程圖分析、明確易被攻擊的環(huán)節(jié)。
2)動態(tài)技術(shù)
實際運(yùn)行檢測(控制邏輯,…)
性能測試(測試用例、仿真程序)
3)結(jié)果驗證
數(shù)據(jù)的選擇、收集和分析。管理資源吧(),提供海量管理資料免費(fèi)下載!5.2安全保護(hù)(securityprotection)5.2.5數(shù)據(jù)加密以密文形式保存和傳輸數(shù)據(jù)(只有知道密鑰的用戶才能訪問)。
1.處理流程
2.加密方法
信息編碼信息換位信息替換
管理資源吧(),提供海量管理資料免費(fèi)下載!5.3完整性保護(hù)(integralityprotection)5.3.1概述
1、定義
——數(shù)據(jù)的正確性,有效性和相容性。指數(shù)據(jù)庫中數(shù)據(jù)與現(xiàn)實世界的實際情況是相符合的或數(shù)據(jù)庫中數(shù)據(jù)自身不存在自相矛盾的現(xiàn)象。A=10A=10U1U1U1管理資源吧(),提供海量管理資料免費(fèi)下載!5.3完整性保護(hù)(integralityprotection)
2、功能
1)完整性要求定義;
2)監(jiān)督事務(wù)執(zhí)行,測試是否違反完整性限制條件;
3)若發(fā)生違反情況,則進(jìn)行相應(yīng)處理(拒絕、報告、糾正、忽略)?,F(xiàn)實世界的A與DB中的A保持一致,且U1、U2、U3等所有用戶從DB中查詢的結(jié)果均為10,則稱A具有完整性,否則就是不完整的。管理資源吧(),提供海量管理資料免費(fèi)下載!5.3完整性保護(hù)(integralityprotection)
3、完整性類型
1)實體完整性
2)參照完整性
3)用戶定義完整性
4.處理由DBMS提供的一種檢查數(shù)據(jù)是否滿足語義規(guī)定條件(即完整性約束條件)的機(jī)制(完整性檢查)。
――數(shù)據(jù)的約束條件是語義的體現(xiàn),DBMS提供完整性約束條件定義機(jī)制,并將這些定義作為模式的一部分存入數(shù)據(jù)庫中。
SQL語言CREATETABLE命令的Constraint子句即用以定義完整性約束條件。管理資源吧(),提供海量管理資料免費(fèi)下載!5.3完整性保護(hù)(integralityprotection)5.3.2
完整性約束條件
1、基本概念
①定義:施加于DB中數(shù)據(jù)之上的語義限制條件.②約束對象粒度:列級、元組級、關(guān)系級
③約束對象狀態(tài)靜態(tài):反映DB狀態(tài)合理性的約束。動態(tài):反映DB狀態(tài)變遷的約束。
④約束時機(jī)(Immediateconstraints)(1)立即約束:——一條語句執(zhí)行完后立即檢查。(2)延遲約束:——事務(wù)執(zhí)行結(jié)束后檢查。例如:轉(zhuǎn)帳,從A到B后,帳才能平,才能進(jìn)行檢查。管理資源吧(),提供海量管理資料免費(fèi)下載!5.3完整性保護(hù)(integralityprotection)管理資源吧(),提供海量管理資料免費(fèi)下載!5.3完整性保護(hù)(integralityprotection)
2、靜態(tài)列級約束
——對一個列的取值域的約束。
①數(shù)據(jù)類型約束(類型、長度、單位、精度)如:姓名XM為Char長8位;年齡NL為Int型,長3位。
②數(shù)據(jù)格式約束如:工作證號前2位表示省,后3位表示縣,后4位表示單位順序號,后5位表示個人順序號。
③值域約束如:成績CJ≤100,年齡NL≤150,性別XB={男,女}④空值約束是否允許空值列。如:成績CJ可為空。
⑤其它約束
管理資源吧(),提供海量管理資料免費(fèi)下載!5.3完整性保護(hù)(integralityprotection)
3、靜態(tài)元組約束對一個(僅一個)元組中各列值間聯(lián)系的約束。如:總額≥單價工齡<年齡實發(fā)工資=應(yīng)發(fā)工資-總扣款
4、靜態(tài)關(guān)系約束
——對一個關(guān)系中若干元組之間或若干關(guān)系的聯(lián)系的約束。
①實體完整性約束
②參照完整性約束
③函數(shù)依賴約束
④統(tǒng)計約束如:職工最低工資不能低于本部門職工平均工資的50%。老板工資不能超過員工平均工資的10倍。
管理資源吧(),提供海量管理資料免費(fèi)下載!5.3完整性保護(hù)(integralityprotection)
5、動態(tài)列級約束
——修改列定義或列值時的約束。
①修改定義約束
——修改定義時新老值間的約束。如:將允許空值列改為不允許空值時,若該列值已有空值,則不可修改。
②修改值約束
——修改時新舊值間的約束。如年齡不能修改得更小(只會長大)。
6、動態(tài)元組約束
——修改元組時新舊值間的約束。
7、動態(tài)關(guān)系約束
——施加于關(guān)系上的前后狀態(tài)的約束。如:事務(wù)的一致性和原子性約束就是保證動態(tài)關(guān)系約束的技術(shù)。管理資源吧(),提供海量管理資料免費(fèi)下載!5.3完整性保護(hù)(integralityprotection)5.3.3完整性控制
1、實體完整性(entityintegrity)
——對關(guān)系模式候選碼施加的完整性控制。
①不允許空;
②不能重復(fù)。例:student(XH,XM,XB,NL)XH為主碼,不能為空
course(KH,KM)KH為主碼,不能為空
sc(XH,KH,CJ)XH,KH不能為空
Createtablestudent(XH,Char(6)PrimaryKey,…,)
通常用PrimaryKey定義主碼,用Unique定義候選碼。一般DBMS會在PrimaryKey上自動加上Index
在Unique上的Index需另行聲明
管理資源吧(),提供海量管理資料免費(fèi)下載!5.3完整性保護(hù)(integralityprotection)多屬碼必須用表約束定義單屬碼可用列約束或表約束定義管理資源吧(),提供海量管理資料免費(fèi)下載!5.3完整性保護(hù)(integralityprotection)
2、參照完整性(referentialintegrity)
——對外碼施加的完整性控制。
參照關(guān)系:外碼所在關(guān)系,如STUDENT、SC,常稱為從表或子表;
被參照關(guān)系:主碼(同時又是另一關(guān)系中的外碼)所在關(guān)系,如student,course常稱為主表或父表。CLASSClno
ClnameMajor01雙學(xué)位計算機(jī)02專生本數(shù)學(xué)04自修物理05研究生化學(xué)STUDENTSSn
Sname
Clno991001牛得草01991020草上飛01001001魚得水04001101雪上飄05管理資源吧(),提供海量管理資料免費(fèi)下載!5.3完整性保護(hù)(integralityprotection)
1)外碼分類父表子表不同,外碼為子表的非主屬性例:關(guān)系模式
CLASS(Clno,clname,Major)父表
STUDENTS(Sno,Sname,Clno)子表外碼Clno是子表STUDENTS的非主屬性父表與子表相同,外碼為非主屬性
EMPLAYEE(Eno,Ename,dept,Manager)
Manager為外碼,引用本表的EnoManager為Eno的直接上司,用其Eno表示。
管理資源吧(),提供海量管理資料免費(fèi)下載!5.3完整性保護(hù)(integralityprotection)父表子表不同,外碼為子表的主屬性
STUDENTS(Sno,Sname,Clno)父表
COURSEES(Cno,cname,Score)父表
SC(Sno,cno,Grade)子表外碼Sno,Cno,為子表SC的主屬性
2)外碼的取值NULL(只有外碼為子表非主屬性時可取空值)為父表中的某值的引用
管理資源吧(),提供海量管理資料免費(fèi)下載!5.3完整性保護(hù)(integralityprotection)3)控制策略(A)插入策略在從表中插入元組受限插入:僅當(dāng)父表中存在插入元組在外碼值的相應(yīng)元組時,系統(tǒng)執(zhí)行插入操作,否則拒絕此插入操作。遞歸插入若父表中不存在與插入元組相對應(yīng)的相應(yīng)元組,則首先向父表中插入相應(yīng)元組,然后再向子表中插入該元組。管理資源吧(),提供海量管理資料免費(fèi)下載!5.3完整性保護(hù)(integralityprotection)(B)修改策略修改父表主碼置空修改將從表中相關(guān)記錄在外碼上的值全部置為NULL。例如:要將CLASS表中的Clno=‘01’改為‘101’,則由DBMS自動將STUDENTS表中的所有Clno=‘01’的記錄的Clno屬性置NULL。拒絕修改拒絕執(zhí)行此類操作。
管理資源吧(),提供海量管理資料免費(fèi)下載!5.3完整性保護(hù)(integralityprotection)關(guān)聯(lián)修改將從表中相關(guān)記錄在外碼上的值一起自動修改。例如:要將CLASS表中的Clno=‘01’改為‘101’,則由DBMS自動將STUDENTS表中的所有Clno=‘01’的記錄的Clno都修改為‘101’。修改從表外碼拒絕修改/受限插入如果父表中存在待修改值,則執(zhí)行,否則不允許執(zhí)行此類修改操作。例如:Sno=‘991001’的學(xué)生的Clno=‘05’,將其clno改為‘01’,則執(zhí)行,如果改為‘AA’,則拒絕執(zhí)行。(CLASS表中不存在clno=‘AA’的記錄)管理資源吧(),提供海量管理資料免費(fèi)下載!5.3完整性保護(hù)(integralityprotection)遞歸插入如果父表中不存在待修改值,則先在父表中自動插入一條包含修改值的記錄,然后再修改從表外碼。例如:上例中將Sno=‘991001’的學(xué)生的clno改為‘AA’的操作。用此控制策略,將先在CLASS表中插入clno=‘AA’的記錄,然后將STUDENTS中的Sno=‘991001’的學(xué)生的clno改為‘AA’。(C)刪除策略刪除父表元組置空刪除(NULLIFIES)刪除父表中元組的同時,自動將子表中的相關(guān)元組的外碼置NULL值。例如:刪除CLASS表clno=‘01’的元組時,DBMS自動將STUDENTS表中所有clno=‘01’的元組的clno改為NULL值。管理資源吧(),提供海量管理資料免費(fèi)下載!5.3完整性保護(hù)(integralityprotection)受限刪除(RESTRICTED)發(fā)出警告,拒絕執(zhí)行此類操作。關(guān)聯(lián)刪除(CASCADES)刪除父表中元組的同時,自動刪除子表中的相關(guān)元組。例如:刪除CLASS表clno=‘01’的元組時,DBMS自動將STUDENTS表中所有clno=‘01’的元組一起刪除。株連九族式。管理資源吧(),提供海量管理資料免費(fèi)下載!5.3完整性保護(hù)(integralityprotection)
3、用戶定義完整性(integrityofuserdefinition)
1)空值控制
——對給定屬性施加不允許空值限制(NOTNULL)
2)單個屬性控制(Check約束)為:(CJisNull)OR(CJBETWEENOAND100)3)多屬性控制如:XB=‘男’ANDNL<=304)觸發(fā)器(Trigger)
Trigger則是基于對表的操作(動作)的;當(dāng)指定的表上發(fā)生特定的操作,系統(tǒng)便激活Trigger程序。產(chǎn)品均支持T管理資源吧(),提供海量管理資料免費(fèi)下載!5.4事務(wù)及事務(wù)特性(transactionandit'scharacteristics)5.4.1事務(wù)(transaction)
1、定義
構(gòu)成一個獨(dú)立邏輯工作單位的數(shù)據(jù)庫操作集。一條SQL語句;一組SQL語句序列;一個包含對DB操作的應(yīng)用程序。管理資源吧(),提供海量管理資料免費(fèi)下載!5.4事務(wù)及事務(wù)特性(transactionandit'scharacteristics)
2、構(gòu)成方式
①顯式
BEGINTRANSACTION……SQL語句
ENDTRANSACTION/COMMIT/ROLLBACK
其中:COMMIT提交,事務(wù)對DB的修改寫回到磁盤上的DB中去。ROLLBACK:回滾,撤消對DB之修改,恢復(fù)到事務(wù)開始狀態(tài)。
②缺省一條或多條SQL語句
COMMIT/ROLLBACK管理資源吧(),提供海量管理資料免費(fèi)下載!5.4事務(wù)及事務(wù)特性(transactionandit'scharacteristics)5.4.2事務(wù)的ACID性質(zhì)
1、原子性(Atomicity)①定義
事務(wù)是一個不可分割的工作單元,其對DB的操作要么都做,要么都不做。
②目標(biāo)保證DB數(shù)據(jù)的一致性(轉(zhuǎn)帳問題)。
③技術(shù)日志+ROLLBACK(UNDO)(意外終止);并發(fā)控制(交叉執(zhí)行)。④實現(xiàn)實現(xiàn)由DBMS自動完成。管理資源吧(),提供海量管理資料免費(fèi)下載!5.4事務(wù)及事務(wù)特性(transactionandit'scharacteristics)
2、一致性(consistency)
①定義
事務(wù)的執(zhí)行必須是將DB從一個正確(一致)狀態(tài)轉(zhuǎn)換到另一個正確(一致)狀態(tài)。
如:轉(zhuǎn)帳問題中,A有100萬人民幣是一個正確狀態(tài),減去50萬,轉(zhuǎn)到B帳上50萬,DB從一個正確狀態(tài)轉(zhuǎn)變到另一個正確狀態(tài),這兩個操作,若只做其中一個,則不能實現(xiàn)DB從一個正確狀態(tài)轉(zhuǎn)到另一個正確狀態(tài),破壞了事務(wù)一致性。
②目標(biāo)
保證DB數(shù)據(jù)一致性(丟失更新、讀臟、讀不可重復(fù))。
③技術(shù)
并發(fā)控制。
④實現(xiàn)
用戶定義事務(wù)(保證相關(guān)操作在一個事務(wù)中);
DBMS自動維護(hù)之。管理資源吧(),提供海量管理資料免費(fèi)下載!5.4事務(wù)及事務(wù)特性(transactionandit'scharacteristics)
3、隔離性(isolation)①定義
一個事務(wù)中對DB的操作及使用的數(shù)據(jù)與其它并發(fā)事務(wù)無關(guān),并發(fā)執(zhí)行的事務(wù)間不能互相干擾。
②目標(biāo)防止鏈?zhǔn)截舱邸?/p>
③技術(shù)并發(fā)控制。
④實現(xiàn)
DBMS自動實現(xiàn)。管理資源吧(),提供海量管理資料免費(fèi)下載!5.4事務(wù)及事務(wù)特性(transactionandit'scharacteristics)
4、持久性(durability)
①定義
一個已提交事務(wù)對DB的更新是永久性的,不受后來故障的影響。
②目標(biāo):
保證DB可靠性
③技術(shù)
備份+日志。
④實現(xiàn):DBMS恢復(fù)子系統(tǒng)自動實現(xiàn)。
管理資源吧(),提供海量管理資料免費(fèi)下載!5.5并發(fā)控制技術(shù)(technologyofcontrolsimultaneously)并發(fā)操作調(diào)度:
保證多用戶并發(fā)操作數(shù)據(jù)庫中信息時的正確性、一致性所采取的措施。封鎖:一種并發(fā)調(diào)度的技術(shù)。
管理資源吧(),提供海量管理資料免費(fèi)下載!5.5并發(fā)控制技術(shù)(technologyofcontrolsimultaneously)5.5.1并發(fā)操作調(diào)度
1.
問題的提出
1)丟失更新(lostupdate)
——兩個以上事務(wù)從DB中讀入同一數(shù)據(jù)并修改之,其中一事務(wù)的提交結(jié)果破壞了另一事務(wù)的提交結(jié)果,導(dǎo)致該事務(wù)對DB的修改被丟失。
2)不可重復(fù)讀(readnorepeatable)
——同一事務(wù)重復(fù)讀同一數(shù)據(jù),但獲得結(jié)果不同。
3)讀“臟”數(shù)據(jù)(readdirty)
——讀未提交的隨后又被撤消(Rollback)的數(shù)據(jù)。
管理資源吧(),提供海量管理資料免費(fèi)下載!5.5并發(fā)控制技術(shù)(technologyofcontrolsimultaneously)
1)丟失更新
丟失修改是指事務(wù)1與事務(wù)2從數(shù)據(jù)庫中讀入同一數(shù)據(jù)并修改,事務(wù)2的提交結(jié)果破壞了事務(wù)1提交的結(jié)果,導(dǎo)致事務(wù)1的修改被丟失。例:在圖中,事務(wù)1與事務(wù)2先后讀入同一個數(shù)據(jù)A=16,事務(wù)1執(zhí)行A←A-1,并將結(jié)果A=15寫回,事務(wù)2執(zhí)行A←A-1,并將結(jié)果A=15寫回。事務(wù)2提交的結(jié)果覆蓋了事務(wù)1對數(shù)據(jù)庫的修改,從而使事務(wù)1對數(shù)據(jù)的修改丟失。時間
T1
DB中A值
T2
注:A=16表示從DB中讀入A值。
t1
讀A=16
16
……t2
……讀A=16
t3
計算A:=A-1
……存盤COMMIT
15
t4
15
計算A:=A-1存盤COMMIT
管理資源吧(),提供海量管理資料免費(fèi)下載!5.5并發(fā)控制技術(shù)(technologyofcontrolsimultaneously)管理資源吧(),提供海量管理資料免費(fèi)下載!5.5并發(fā)控制技術(shù)(technologyofcontrolsimultaneously)2)不可重復(fù)讀
不可重復(fù)讀是指事務(wù)1讀取數(shù)據(jù)后,事務(wù)2執(zhí)行更新操作,使事務(wù)1無法再現(xiàn)前一次讀取結(jié)果。
具體地講,不可重復(fù)讀包括三種情況:事務(wù)1讀取某一數(shù)據(jù)后,事務(wù)2對其做了修改,當(dāng)事務(wù)1再次讀該數(shù)據(jù)時,得到與前一次不同的值。事務(wù)1按一定條件從數(shù)據(jù)庫中讀取某些數(shù)據(jù)記錄后,事務(wù)2刪除了其中部分記錄,當(dāng)事務(wù)1再次按相同條件讀取數(shù)據(jù)時,發(fā)現(xiàn)某些記錄神秘地消失了。事務(wù)1按一定條件從數(shù)據(jù)庫中讀取某些數(shù)據(jù)記錄后,事務(wù)2插入了一些記錄,當(dāng)事務(wù)1再次按相同條件讀取數(shù)據(jù)時,發(fā)現(xiàn)多了一些記錄。管理資源吧(),提供海量管理資料免費(fèi)下載!5.5并發(fā)控制技術(shù)(technologyofcontrolsimultaneously)時間T1
DB中值T2t1
讀A=50讀B=100計算S:=A+B=150A=50B=100S=150
t2
A=50B=200S=150
讀B=100計算B:=2*B=200COMMIT
t3
讀A=50讀B=200計算S:=A+B=250
事務(wù)T1驗算結(jié)果不正確
管理資源吧(),提供海量管理資料免費(fèi)下載!5.5并發(fā)控制技術(shù)(technologyofcontrolsimultaneously)
3)讀“臟”數(shù)據(jù)
指事務(wù)T1修改某一數(shù)據(jù),并將其寫回磁盤(并未提交,OS的I/O調(diào)度結(jié)果),事務(wù)T2讀取同一數(shù)據(jù)后,T1由于某種原因被撤銷,這時T1修改過的數(shù)據(jù)恢復(fù)原值,T2讀到的數(shù)據(jù)與數(shù)據(jù)庫中的數(shù)據(jù)出現(xiàn)不一致,T2讀得的不穩(wěn)定的瞬間數(shù)據(jù)稱為“臟”數(shù)據(jù)。
例如:T1將C值修改為200,T2讀C為200,若T1被撤銷,其修改作廢,C應(yīng)恢復(fù)為100,這時再看T2讀到的C值就成了無根據(jù)的數(shù)據(jù)。
管理資源吧(),提供海量管理資料免費(fèi)下載!5.5并發(fā)控制技術(shù)(technologyofcontrolsimultaneously)產(chǎn)生上述三類數(shù)據(jù)不一致的原因:并發(fā)操作破壞了事務(wù)的隔離性。因此對事務(wù)的并發(fā)操作必須加以控制,才能避免此類現(xiàn)象的發(fā)生。并發(fā)控制:用正確的方法調(diào)度并發(fā)操作,使一個事務(wù)的執(zhí)行不受其他事務(wù)的干擾,從而避免數(shù)據(jù)的不一致現(xiàn)象。管理資源吧(),提供海量管理資料免費(fèi)下載!5.5并發(fā)控制技術(shù)(technologyofcontrolsimultaneously)
2.正確性標(biāo)準(zhǔn)
1)單個事務(wù)
——若非并發(fā)的執(zhí)行,每個事務(wù)都能保證DB的正確性。
(上述問題,都是因事務(wù)并發(fā)執(zhí)行產(chǎn)生)
2)多個事務(wù)
——多個事務(wù)以任意串行方式執(zhí)行都能保證DB的正確性。
時間T1
DB中A值T2
注:無論是T1、T2順序或是T2、T1順序,結(jié)果A都為14t1讀A=1616……t2A:=A-1t3COMMIT15……t415A=15t515A:=A-1t614COMMIT管理資源吧(),提供海量管理資料免費(fèi)下載!5.5并發(fā)控制技術(shù)(technologyofcontrolsimultaneously)顯然,任何一事務(wù)并發(fā)執(zhí)行時禁止其它事務(wù)執(zhí)行,總能保證DB正確性,但不利于數(shù)據(jù)共享。
3)可串行化調(diào)度(Serializability)
——當(dāng)且僅當(dāng)多個事務(wù)并發(fā)執(zhí)行的結(jié)果與該事務(wù)任一串行執(zhí)行的結(jié)果相同時,則該并發(fā)執(zhí)行是可串行化的。
3.并發(fā)控制(可串行化調(diào)度)方法
1)加鎖控制(Locking)
2)樂觀假設(shè)(Optimistic)
3)時標(biāo)(timestamping)
管理資源吧(),提供海量管理資料免費(fèi)下載!5.5并發(fā)控制技術(shù)(technologyofcontrolsimultaneously)5.5.2封鎖
1、封鎖并發(fā)控制的一種技術(shù)。
2、封鎖規(guī)則
①對將要存取的數(shù)據(jù)須先申請加鎖,加鎖成功才能存??;
②已被加鎖的數(shù)據(jù)不能再加不相容鎖;
③一旦退出使用應(yīng)適時釋放鎖;
④未被加鎖的數(shù)據(jù)不可對之解鎖。
3、封鎖類型
1)排它鎖(X鎖:exclusivelock)又稱寫鎖若事務(wù)Ti持有數(shù)據(jù)Di的X鎖,則Ti可讀、寫Di,其它任何事務(wù)不能再對Di加任何鎖,直至Ti釋放該X鎖。X鎖用于寫保護(hù),防止丟失更新。管理資源吧(),提供海量管理資料免費(fèi)下載!5.5并發(fā)控制技術(shù)(technologyofcontrolsimultaneously)
2)共享鎖(S鎖:sharelock)又稱讀鎖若事務(wù)Ti持有數(shù)據(jù)Di的S鎖,則其它事務(wù)仍可對Di加S鎖,但不可加X鎖,直到Ti釋放該S鎖。一旦施加S鎖,讀可共享但其它事務(wù)不可改。S鎖用于讀操作。
封鎖類型的相容矩陣T1T2XS-Y相容的請求N不相容的請求XNNYSNYY-YYY管理資源吧(),提供海量管理資料免費(fèi)下載!5.5并發(fā)控制技術(shù)(technologyofcontrolsimultaneously)
4.申請時機(jī)
1)事務(wù)開始時申請(常用)
·無死鎖;·鎖開銷少;·并發(fā)性低
2)一個SQL語句開始時
·并發(fā)性高;·鎖開銷大;·易產(chǎn)生死鎖;·提交頻繁
5.封鎖粒度(granularity)——被封鎖數(shù)據(jù)的范圍邏輯單元:整個DB、整個關(guān)系、整個索引、元組、索引項、屬性值集、屬性值。物理單元:塊、數(shù)據(jù)頁、索引頁。評價:
1)粒度大:被封鎖對象少,并發(fā)性差,開銷小。
2)粒度?。罕环怄i對象多,并發(fā)性高,開銷大。管理資源吧(),提供海量管理資料免費(fèi)下載!5.5并發(fā)控制技術(shù)(technologyofcontrolsimultaneously)
6.封鎖粒度選擇的一般策略
1)需常存取多個關(guān)系的大量元組時宜采用DB級粒度;
2)需常存取單個關(guān)系大量元組時宜采用關(guān)系級粒度;
3)需常存取單個關(guān)系少量元組時宜采用元組級粒度;
4)一般不采用屬性級粒度;
5)物理單元一般不宜采用。
7.封鎖協(xié)議(Lockingprotocol)
1)概念(何謂封鎖協(xié)議)
——申請、持有和釋放鎖的規(guī)則。
2)目的
——實現(xiàn)正確的并發(fā)操作調(diào)度。
3)類別
①支持一致性維護(hù)的三級封鎖協(xié)議;
②支持并行調(diào)度可串行化的兩段鎖協(xié)議;
③避免死鎖協(xié)議。管理資源吧(),提供海量管理資料免費(fèi)下載!5.5并發(fā)控制技術(shù)(technologyofcontrolsimultaneously)5.5.3三級封鎖協(xié)議
1.1級封鎖協(xié)議
1)策略
事務(wù)Ti在修改數(shù)據(jù)Di之前須先對Di加X鎖,直到事務(wù)Ti結(jié)束(commit/rollback)才釋放。
2)功能
防止丟失修改;
保證Ti可恢復(fù)(若意外終止,則rollback后才可釋放)。
3)問題:不能防止不可重復(fù)讀和讀“臟”數(shù)據(jù)。
(1級協(xié)議僅對修改操作,若讀則不加鎖)管理資源吧(),提供海量管理資料免費(fèi)下載!5.5并發(fā)控制技術(shù)(technologyofcontrolsimultaneously)遵循一級封鎖協(xié)議的一種調(diào)度T1T2T1T2T1T21)Xlock(A)=T讀A=16A=50B=100Xlock(C)=TC=1002)Xlock(A)=FC:=2*C=2003)A:=A-1=15Xlock(S)=TS:=A+B=150B=200C=2004)Xlock(A)=FROLLBACK5)COMMITCOMMITUNLOCK(C)6)Xlock(A)=FUnlock(B)7)Unlock(A)A=50B=2008)Xlock(A)=T
讀A=15Xlock(S1)=TS1:=A+B=2509)A:=A-1=1410)COMMITS?。絊1寫丟失避免了!不可重復(fù)讀讀“臟”數(shù)據(jù)管理資源吧(),提供海量管理資料免費(fèi)下載!5.5并發(fā)控制技術(shù)(technologyofcontrolsimultaneously)2.2級封鎖協(xié)議
1)策略
1級封鎖協(xié)議加上事務(wù)Ti在讀取Di之前必須對Di加S鎖,讀完后即可釋放該S鎖。
2)功能
·防止丟失修改;
·防止讀臟。
3)問題:不能防止讀不可重復(fù)(讀完即釋放,重讀時可能其它事務(wù)對之修改)。
管理資源吧(),提供海量管理資料免費(fèi)下載!5.5并發(fā)控制技術(shù)(technologyofcontrolsimultaneously)遵循二級封鎖協(xié)議的一種調(diào)度
T1T2T1T21)SLOCK(A)=.T.A=50SLOCK(B)=.T.B=100Xlock(C)=.T.C=100C:=2*C=2002)Unlock(A)Unlock(B)SLOCK(C)=.F.3)Xlock(S)=.T.S:=A+B=150ROLLBACK4)
Xlock(B)=.T.B=100B=B*2=200SLOCK(C)=.F.5)COMMITUNLOCK(C)6)Unlock(B)SLOCK(C)=.T7)SLOCK(A)=.T.SLOCK(B)=.T.A=50B=200Unlock(A)Unlock(B)C=1008)9)Xlock(S1)=.T.S1:=A+B=250S?。絊1不可重復(fù)讀不能避免讀“臟”數(shù)據(jù)避免了管理資源吧(),提供海量管理資料免費(fèi)下載!5.5并發(fā)控制技術(shù)(technologyofcontrolsimultaneously)3.3級封鎖協(xié)議
1)策略
在1級封鎖協(xié)議上加上事務(wù)Ti讀Di前須先對Di加S鎖,直至Ti結(jié)束后才釋放該S鎖。
2)功能
·防止丟失修改;
·防止讀“臟”;
·防止讀不可重復(fù)。
管理資源吧(),提供海量管理資料免費(fèi)下載!5.5并發(fā)控制技術(shù)(technologyofcontrolsimultaneously)遵循三級封鎖協(xié)議的一種調(diào)度
T1T2T1T21)SLOCK(A)=.T.A=50SLOCK(B)=.T.B=100Xlock(C)=.T.C=100C:=2*C=2002)Xlock(B)=.F.SLOCK(C)=.F.3)Xlock(S)=.T.S:=A+B=150ROLLBACK4)SLOCK(C)=.F.5)Xlock(S1)=.T.A=50B=100S1:=A+B=150COMMITUNLOCK(C)6)Unlock(A)Unlock(B)Unlock(B)SLOCK(C)=.T7)Xlock(B)=.T.B=100B=B*2=200C=1008)
S=S1可重復(fù)讀讀“臟”數(shù)據(jù)避免了管理資源吧(),提供海量管理資料免費(fèi)下載!5.5并發(fā)控制技術(shù)(technologyofcontrolsimultaneously)三級封鎖協(xié)議的主要區(qū)別在于何種操作需要申請封鎖,以及獲得封鎖后何時釋放鎖(持鎖時間)。分別采用三級封鎖協(xié)議中不同級別的協(xié)議,得到的一致性保證是不同的。X鎖S鎖一致性保證操作結(jié)束釋放事務(wù)結(jié)束釋放操作結(jié)束釋放事務(wù)結(jié)束釋放不丟失修改不讀臟數(shù)據(jù)可重復(fù)讀一級√√二級√√√√三級√√√√√管理資源吧(),提供海量管理資料免費(fèi)下載!5.5并發(fā)控制技術(shù)(technologyofcontrolsimultaneously)5.5.4死鎖(deadlock)
1.含義
兩個或兩個以上事務(wù)均處于等待狀態(tài),每個事務(wù)都在等待其中另一個事務(wù)封鎖的數(shù)據(jù),導(dǎo)致任何事務(wù)都不能繼續(xù)執(zhí)行的現(xiàn)象稱為死鎖。
2.產(chǎn)生條件
①互斥(排它性控制);
②不可剝奪(釋放鎖前,其它事務(wù)不能剝奪);
③部分分配(每次申請一部分,申請新的鎖時,又占用已
獲得者);
④環(huán)路(循環(huán)鏈中,每事務(wù)獲得的數(shù)據(jù)同時又被另一事務(wù)
請求)。
管理資源吧(),提供海量管理資料免費(fèi)下載!5.5并發(fā)控制技術(shù)(technologyofcontrolsimultaneously)
T1、T2是兩個均須修改數(shù)據(jù)A、B的事務(wù),如果用戶程序遵循三級封鎖協(xié)議,但申請鎖的順序是隨機(jī)的,則有可能出現(xiàn)下列情況——死鎖T1T2XLOCK(A)=.T.READA(A)XLOCK(B)=.T.READ(B)XLOCK(B)=.F.(等待)T1等待獲得B的鎖XLOCK(A)=.F.(等待)T2等待獲得A的鎖XLOCK(B)=.F.(等待)T1等待獲得B的鎖…(等待)XLOCK(A)=.F.(等待)T2等待獲得A的鎖…(等待)一直等待下去管理資源吧(),提供海量管理資料免費(fèi)下載!5.5并發(fā)控制技術(shù)(technologyofcontrolsimultaneously)3.預(yù)防:
——防止產(chǎn)生條件之一發(fā)生(破壞產(chǎn)生死鎖的條件)
①一次封鎖法
——每個事務(wù)事先一次獲得所需數(shù)據(jù)的全部鎖。
如:T1獲得所有數(shù)據(jù)A、B鎖,T1連續(xù)執(zhí)行,T2等待;T1執(zhí)行完后釋放A、B鎖,T2繼續(xù)執(zhí)行,不會發(fā)生死鎖。
特征:·簡單;無死鎖;粒度大;并發(fā)度低;
·難以確定封鎖對象。
(DB數(shù)據(jù)變化,不能預(yù)先確定封鎖對象,只好擴(kuò)大封鎖范圍)
②順序封鎖法
——事務(wù)按預(yù)先確定的數(shù)據(jù)封鎖順序?qū)嵭蟹怄i。如:B樹從根開始
特征:·無死鎖;
·順序難以確定;
·(運(yùn)行中才發(fā)現(xiàn)要封鎖對象)封鎖對象難以確定。管理資源吧(),提供海量管理資料免費(fèi)下載!5.5并發(fā)控制技術(shù)(technologyofcontrolsimultaneously)4.診斷與解除
①等待圖法;構(gòu)造事務(wù)的等待圖;周期性檢測該等待圖;判斷存在回路否;存在,則撤消某一事務(wù);選擇一個處理死鎖代價最小的事務(wù)(NP難度問題);釋放所有鎖,使其它事務(wù)繼續(xù)運(yùn)行。
②超時法當(dāng)一個事務(wù)的等待時間超過規(guī)定的時限,則認(rèn)為發(fā)生死鎖,撤銷該事務(wù)。實現(xiàn)簡單存在問題可能誤判死鎖;時限標(biāo)準(zhǔn)難以把握管理資源吧(),提供海量管理資料免費(fèi)下載!5.5并發(fā)控制技術(shù)(technologyofcontrolsimultaneously)
5.5.5活鎖(livelock)
1、含義
——事務(wù)因故永遠(yuǎn)處于等待狀態(tài)。如:T1T2T3T4…Tn
LOCK(R)=.T.
LOCK(R)=.F.LOCK(R)=.F.LOCK(R)=.F.UNLOCK(R)LOCK(R)=.F.LOCK(R)=.T.
LOCK(R)=.F.LOCK(R)=.F.…LOCK(R)=.F.LOCK(R)=.F.UNLOCK(R)LOCK(R)=.F.…(等待)LOCK(R)=.T.
管理資源吧(),提供海量管理資料免費(fèi)下載!5.5并發(fā)控制技術(shù)(technologyofcontrolsimultaneously)2、預(yù)防方法
FCFS:FirstComeFirstServer先來先服務(wù)。對于事務(wù)有優(yōu)先級的系統(tǒng),可設(shè)置一個最長等待時間,與優(yōu)先級結(jié)合,調(diào)度事務(wù)的執(zhí)行。管理資源吧(),提供海量管理資料免費(fèi)下載!5.5并發(fā)控制技術(shù)(technologyofcontrolsimultaneously)5.5.6兩段鎖協(xié)議-2PL:two-phaselocking1.可串行性
可串行性是事務(wù)并發(fā)執(zhí)行正確性的判斷準(zhǔn)則,給定一個并發(fā)調(diào)度,當(dāng)且僅當(dāng)它是可串行化的,才認(rèn)為它是正確的。假設(shè)有兩個事務(wù):T1T2,數(shù)據(jù)庫中A、B的初值均為2;
T1:讀B;A=B+1;寫回AT2:讀A;B=A+1;寫回B
串行調(diào)度只有兩種可能:·
T1――T2結(jié)果為:A=3,B=4·
T2――T1結(jié)果為:A=4,B=3管理資源吧(),提供海量管理資料免費(fèi)下載!5.5并發(fā)控制技術(shù)(technologyofcontrolsimultaneously)下面給出幾種不同的調(diào)度策略
T1T2T1T2T1T2T1T2SLOCK(B)Y=B=2Unlock(B)Xlock(A)A=Y+1=3寫回AUnlock(A)SLOCK(A)X=A=3Unlock(A)Xlock(B)B=X+1=4寫回BUnlock(B)SLOCK(B)Y=B=3Unlock(B)Xlock(A)A=Y+1=4寫回AUnlock(A)SLOCK(A)X=A=2Unlock(A)Xlock(B)B=X+1=3寫回BUnlock(B)SLOCK(B)Y=B=2
Unlock(B)
Xlock(A)A=Y+1=3寫回A
Unlock(A)SLOCK(A)X=A=2Unlock(A)
Xlock(B)B=X+1=3寫回B
Unlock(B)SLOCK(B)Y=B=2Unlock(B)Xlock(A)
A=Y+1=3寫回AUnlock(A)SLOCK(A)等待等待等待X=A=3Unlock(A)Xlock(B)B=X+1=4寫回BUnlock(B)串行化調(diào)度串行化調(diào)度不可串行化調(diào)度可串行化調(diào)度管理資源吧(),提供海量管理資料免費(fèi)下載!5.5并發(fā)控制技術(shù)(technologyofcontrolsimultaneously)2.含義事務(wù)分為兩個階段:
·第一階段稱為擴(kuò)展階段(獲得鎖);
·第二階段稱為收縮階段(釋放鎖)。遵循兩段鎖協(xié)議的事務(wù),其封鎖序列可以為:SLOCK(A)SLOCK(B)XLOCK(C)
UNLOCK(B)UNLOCK(A)UNLOCK(C)
不遵循兩段鎖協(xié)議的事務(wù),其封鎖序列可能為:SLOCK(A)UNLOCK(A)
SLOCK(B)XLOCK(C)UNLOCK(B)UNLOCK(C)擴(kuò)展階段
收縮階段
管理資源吧(),提供海量管理資料免費(fèi)下載!5.5并發(fā)控制技術(shù)(technologyofcontrolsimultaneously)3.策略
①在對任何數(shù)據(jù)讀、寫之前,須先獲得該數(shù)據(jù)鎖(且);
②在釋放一個封鎖之后,該事務(wù)不能再申請任何其它鎖。4.目標(biāo):
實現(xiàn)并發(fā)操作調(diào)度的可串行化。
事務(wù)遵循兩段鎖協(xié)議是可串行化調(diào)度的充分條件,而不是必要條件。即若并發(fā)事務(wù)都遵循兩段鎖協(xié)議,則對其的任何并發(fā)調(diào)度策略都是可串行化的;若對并發(fā)事務(wù)的一個調(diào)度是可串行化的,但該事務(wù)不一定符合兩段鎖協(xié)議(釋放一個鎖之后又繼續(xù)去獲得另一個鎖的事務(wù)仍然可能產(chǎn)生正確結(jié)果)。
管理資源吧(),提供海量管理資料免費(fèi)下載!5.6數(shù)據(jù)庫恢復(fù)技術(shù)(technologyofrestoringDB)什么是DB恢復(fù)將因破壞或故障而導(dǎo)致的DB數(shù)據(jù)的錯誤狀態(tài)恢復(fù)到最近一個正確狀態(tài)的技術(shù)。
·目標(biāo)
1、保持事務(wù)原子性;
2、保持事務(wù)持久性。
管理資源吧(),提供海量管理資料免費(fèi)下載!5.6數(shù)據(jù)庫恢復(fù)技術(shù)(technologyofrestoringDB)5.6.1DBS故障1.事務(wù)故障:事務(wù)執(zhí)行時未能達(dá)到預(yù)期的終點(diǎn)。
1)分類邏輯錯誤(事務(wù)程序本身的錯誤)數(shù)據(jù)輸入錯、溢出、資源缺乏、應(yīng)用程序錯誤。系統(tǒng)錯誤
死鎖等。
2)特征導(dǎo)致事務(wù)夭折;夭折事務(wù)對DB的部分修改可能已寫入DB。(DB處于不正確或不一致狀態(tài))管理資源吧(),提供海量管理資料免費(fèi)下載!5.6數(shù)據(jù)庫恢復(fù)技術(shù)(technologyofrestoringDB)2、系統(tǒng)故障:造成系統(tǒng)停止運(yùn)轉(zhuǎn)的任何事件,使得系統(tǒng)要重新啟動。
1)分類硬件的故障(CPU等);軟件故障(DBMS,OS,APS);操作失誤;停掉電。
2)特征內(nèi)存數(shù)據(jù)丟失;外存數(shù)據(jù)不受影響;一些尚未完成事務(wù)的結(jié)果可能已送入DB(提交過程之中);已完成事務(wù)的結(jié)果可能部分還未送入DB(提交過程之中);已完成事務(wù)的結(jié)果全部未送入DB(未及提交)。
(DB處于不正確或不一致狀態(tài))管理資源吧(),提供海量管理資料免費(fèi)下載!5.6數(shù)據(jù)庫恢復(fù)技術(shù)(technologyofrestoringDB)3.介質(zhì)故障
指外存儲器故障。
1)分類:磁盤損壞磁頭碰撞強(qiáng)磁場干擾等
2)特征數(shù)據(jù)庫遭到破壞,正存取的數(shù)據(jù)的事務(wù)受到影響可能性小破壞性最大
4.計算機(jī)病毒管理資源吧(),提供海量管理資料免費(fèi)下載!5.6數(shù)據(jù)庫恢復(fù)技術(shù)(technologyofrestoringDB)5.6.2恢復(fù)技術(shù)(備份+日志)
備份技術(shù)
1、備份方式
1)靜態(tài)備份(轉(zhuǎn)儲:dump)
——DBS中無事務(wù)運(yùn)行時進(jìn)行轉(zhuǎn)儲。特征:·轉(zhuǎn)儲期間不對DB進(jìn)行任何操作;
·一定得到一個一致性副本。優(yōu)點(diǎn):簡單缺點(diǎn):·暫停一切事務(wù)運(yùn)行;
·降低DB可用性。管理資源吧(),提供海量管理資料免費(fèi)下載!5.6數(shù)據(jù)庫恢復(fù)技術(shù)(technologyofrestoringDB)
2)動態(tài)備份——轉(zhuǎn)儲與事務(wù)并發(fā)執(zhí)行
·特征:轉(zhuǎn)儲期間可對DB進(jìn)行存取與修改操作。
·優(yōu)點(diǎn):不影響事務(wù)運(yùn)行。
·缺點(diǎn):不能保證獲得一致性副本。
如轉(zhuǎn)儲時,某個值為100,但另一事務(wù)此后對之修改,
這樣正備份的副本是與DB中實際值不一致的過時數(shù)據(jù)。2、備份策略
1)海量備份
·方法:定期或不定期將DB全部數(shù)據(jù)轉(zhuǎn)儲。
·優(yōu)點(diǎn):簡單。
·缺點(diǎn):
·重復(fù)轉(zhuǎn)儲;
·轉(zhuǎn)儲量大;
·停止運(yùn)行(靜態(tài)轉(zhuǎn)儲)。管理資源吧(),提供海量管理資料免費(fèi)下載!5.6數(shù)據(jù)庫恢復(fù)技術(shù)(technologyofrestoringDB)
2)增量備份(incrementalclumping)
·方法:每次轉(zhuǎn)儲上次轉(zhuǎn)儲后更新過的數(shù)據(jù)。
·優(yōu)點(diǎn):備份量小。
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2022《創(chuàng)新設(shè)計》江蘇專用高考英語二輪專題復(fù)習(xí)-沖刺演練-綜合模擬預(yù)測卷(一)
- 天津市河北區(qū)2023-2024學(xué)年八年級下學(xué)期期末考試語文試題(無答案)
- 【名師一號】2020-2021學(xué)年新課標(biāo)版物理選修3-1-第一章靜電場雙基限時練8
- 山東省日照市實驗中學(xué)2024-2025學(xué)年七年級上學(xué)期 歷史期末試題(含答案)
- 五年級上冊語文期末模擬試題及答案
- 【紅對勾】2020年高中化學(xué)(人教版-必修二)-第3章-第4節(jié)-課時作業(yè)23
- 【優(yōu)教通】2021年高一生物同步練習(xí):4.1.2-酶作用特性及其影響因素(蘇教版必修1)-
- 上海市各區(qū)2021屆高三英語一模試卷分類匯編:寫作專題
- 《瑜伽健身》課件
- 2022法律知識競賽參考題庫300題(含答案)
- 花木綠化養(yǎng)護(hù)考核評分表
- #2鍋爐爐膛內(nèi)腳手架搭設(shè)及拆除施工方案
- 110KV變電站工程創(chuàng)優(yōu)監(jiān)理實施細(xì)則
- 個人信用報告異議申請表
- 蒸汽管道專項施工方案
- 檢驗批劃分大全16頁
- 教材中醫(yī)方劑學(xué)
- 2022年2022年電子信息系統(tǒng)機(jī)房設(shè)計規(guī)范
- 下鼻甲生理、解剖、血供
- 賓館電視機(jī)購銷合同協(xié)議
- 風(fēng)機(jī)風(fēng)管拆除制作安裝施工方案
評論
0/150
提交評論