信息化綜合資料_第1頁
信息化綜合資料_第2頁
信息化綜合資料_第3頁
信息化綜合資料_第4頁
信息化綜合資料_第5頁
已閱讀5頁,還剩88頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第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)管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.1概述(summarize)必要性:共享數(shù)據(jù)

義務(wù):

平安性控制(SecurityControl)

完好性控制(IntegrityConstraints)

并發(fā)控制(ConcurrencyControl)

DB恢復(fù)(DBRecovery)管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.2平安維護(hù)(securityprotection)5.2.1概述1.問題的提出信息平安的重要性

人員硬件無意地泄露數(shù)據(jù)?軟件能夠改動(dòng)數(shù)據(jù)?通訊天災(zāi)有意地破壞數(shù)據(jù)?措施

管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.2平安維護(hù)(securityprotection)計(jì)算機(jī)系統(tǒng)平安范疇硬件平安軟件平安數(shù)據(jù)平安計(jì)算機(jī)系統(tǒng)三類平安性問題技術(shù)平安管理平安政策法規(guī)管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.2平安維護(hù)(securityprotection)2.普通計(jì)算機(jī)系統(tǒng)平安控制機(jī)制計(jì)算機(jī)系統(tǒng)平安措施的軟件平安涉及到:操作系統(tǒng)網(wǎng)絡(luò)系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)特點(diǎn):層層設(shè)防分頭把關(guān)相互配合共保平安

泄露改動(dòng)第一道防線第二道防線第三道防線損壞數(shù)據(jù)財(cái)富預(yù)防性措施檢測(cè)性措施糾正性措施消極要素

要挾危險(xiǎn)管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.2平安維護(hù)(securityprotection)3.DBS平安概念——防止對(duì)DB中的數(shù)據(jù)的非授權(quán)運(yùn)用。是指維護(hù)數(shù)據(jù)庫,以防止不合法的運(yùn)用所呵斥的數(shù)據(jù)泄露、更改或破壞。(防止泄露、更改或破壞)。在妥當(dāng)?shù)臅r(shí)辰,以妥當(dāng)?shù)姆绞?,向妥?dāng)?shù)娜?,提供妥?dāng)?shù)臄?shù)據(jù)。

4.DBS中的普通方法1)用戶鑒別2)存取控制3)密文存儲(chǔ)4〕審計(jì)5〕子方式隔離管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.2平安維護(hù)(securityprotection)5.2.2用戶鑒別系統(tǒng)提供一定的方式讓用戶標(biāo)識(shí)本人的名字和身份,系統(tǒng)進(jìn)展核實(shí),經(jīng)過鑒定后才提供系統(tǒng)運(yùn)用權(quán)。每次用戶要求進(jìn)入系統(tǒng)時(shí),由系統(tǒng)將用戶提供的身份標(biāo)識(shí)與系統(tǒng)內(nèi)部記錄的用戶合法標(biāo)識(shí)進(jìn)展核對(duì),經(jīng)過鑒定后才提供對(duì)系統(tǒng)的運(yùn)用權(quán)。常用方法口令過程識(shí)別上碼卡指紋、聲音、照片等回答以下問題

管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.2平安維護(hù)(securityprotection)1.口令:口令是常用的一種用戶標(biāo)識(shí)

①固定口令②隨機(jī)口令③口令時(shí)限2.可讀聲份卡片聲波、指紋、簽名、圖像3.回答以下問題用戶名用戶標(biāo)識(shí)……管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.2平安維護(hù)(securityprotection)5.2.3

存取控制1.存取控制對(duì)于獲得上機(jī)權(quán)后又進(jìn)一步發(fā)出存取數(shù)據(jù)庫操作的戶,DBMS查找數(shù)據(jù)字典,根據(jù)存取權(quán)限對(duì)操作的合法性進(jìn)展檢查,假設(shè)用戶的操作懇求超出了定義的權(quán)限,系統(tǒng)將回絕執(zhí)行此操作。

2.方法定義用戶權(quán)限合法權(quán)限檢查

管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.2平安維護(hù)(securityprotection)3.自主存取控制(DAC)方法自主存取控制DAC〔DiscretionaryAccessControl〕在TCSEC/TDI平安級(jí)別中,自主存取控制處于C1級(jí)。是由用戶或DBA定義存取權(quán)限的一種控制戰(zhàn)略。目前SQL規(guī)范對(duì)DAC提供支持,經(jīng)過SQL的GRANT和REVOKE命令實(shí)現(xiàn)。用戶權(quán)限數(shù)據(jù)對(duì)象操作類型授權(quán)語句GRANTREVOKE訪問權(quán)限由兩個(gè)要素組成:數(shù)據(jù)對(duì)象和操作類型系統(tǒng)經(jīng)過控制它們防止非授權(quán)訪問管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.2平安維護(hù)(securityprotection)DB數(shù)據(jù)對(duì)象名:方式、子方式、表、屬性(精度)操作類型:Create,Select,update,insert,delete,all其它:如操作時(shí)間、范圍,…數(shù)據(jù)對(duì)象和操作權(quán)限對(duì)應(yīng)表對(duì)象

對(duì)象類型

操作權(quán)限

屬性列

TABLE

SELECT,INSERT,UPDATE,DELETEALLPRIVIEGES

視圖

TABLE

SELECT,INSERT,UPDATE,DELETEALLPRIVIEGES

基本表

TABLE

SELECT,INSERT,UPDATE,ALTER,INDEX,DELETEALLPRIVIEGES

數(shù)據(jù)庫

DATABASE

CREATETAB

管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.2平安維護(hù)(securityprotection)控制訪問授權(quán)命令的組成SQL言語的數(shù)據(jù)訪問控制命令授權(quán)命令GRANT收回授權(quán)REVOKE命令格式命令格式

用戶名數(shù)據(jù)對(duì)象名操作類型其他GRANT<權(quán)限>[,<權(quán)限>]...[ON<對(duì)象類型><對(duì)象名>]

TO<用戶>[,<用戶>|PUBLIC]...[WITHGRANTOPTION];REVOKE<權(quán)限>[,<權(quán)限>]...

[ON<對(duì)象類型><對(duì)象名>]

FROM<用戶>[,<用戶>|public]...管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.2平安維護(hù)(securityprotection)4.強(qiáng)迫存取控制(MAC)方法所謂MAC〔MandatoryAccessControl〕是為保證更高程度的平安性,按照TDI/TCSEC規(guī)范中的平安戰(zhàn)略的要求,所采取強(qiáng)迫的存取檢查手段。MAC在規(guī)范中處于C2級(jí)。它不是用戶能直接感知或進(jìn)展控制的。適用于對(duì)數(shù)據(jù)有嚴(yán)厲而固定密級(jí)分類的部門。1)實(shí)體類別主體(用戶)客體〔數(shù)據(jù)〕2)敏感度標(biāo)志〔label〕答應(yīng)證級(jí)別〔ClearanceLevel〕密級(jí)〔ClassificationLevel〕絕密〔TopSecret〕、〔Secret〕可信〔Confidential〕、公開〔Public〕

管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.2平安維護(hù)(securityprotection)

3〕存取規(guī)那么當(dāng)某一用戶〔主體〕以某一答應(yīng)證標(biāo)志進(jìn)入系統(tǒng)后,系統(tǒng)要求他對(duì)任何客體的存取必需遵照如下規(guī)那么:僅當(dāng)主體的答應(yīng)證級(jí)別大于或等于客體的密級(jí)時(shí),該主體才干讀取相應(yīng)的客體;僅當(dāng)主體的答應(yīng)證級(jí)別等于或小于客體的密級(jí)時(shí),該主體才干寫相應(yīng)的客體。規(guī)那么制止擁有高答應(yīng)證級(jí)別的主體更新低密級(jí)的數(shù)據(jù)對(duì)象,從而防止了敏感數(shù)據(jù)的走漏。MAC對(duì)數(shù)據(jù)本身進(jìn)展密級(jí)標(biāo)志,無論數(shù)據(jù)如何復(fù)制,標(biāo)志與數(shù)據(jù)是不可分割的整體。只需符合密級(jí)標(biāo)志要求的用戶才可以操作相應(yīng)數(shù)據(jù)。管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.2平安維護(hù)(securityprotection)最高密級(jí)主體最低密級(jí)主體管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.2平安維護(hù)(securityprotection)DAC和MAC共同構(gòu)成DBMS的平安機(jī)制平安檢查DAC檢查MAC檢查SQL語法分析&語義檢查繼續(xù)管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.2平安維護(hù)(securityprotection)5.視圖隔離機(jī)制視圖是虛表,就象架設(shè)在用戶與基表之間的一道橋梁,用戶可以對(duì)視圖援用的數(shù)據(jù)進(jìn)展操作,也可以直接訪問基表,但對(duì)平安級(jí)別要求較高的數(shù)據(jù)普統(tǒng)統(tǒng)過視圖進(jìn)展訪問,從而防止直接訪問基表中其他數(shù)據(jù)。對(duì)于終端用戶,雖然數(shù)據(jù)庫中的數(shù)據(jù)是面向全局的,但經(jīng)過視圖隔離,他只能看到專門為他定義的視圖中與本人相關(guān)的數(shù)據(jù)。其他與他無關(guān)的數(shù)據(jù)被子方式即視圖隔離或屏蔽了。

USER-2經(jīng)過VIEW-1可以訪問COLUMN-1而無法訪問COLUMN-2,這就是VIEW-1的屏蔽作用。

CREATEVIEWVIEW-1

ASSELECTCOLUMN-1FROMTABLE-1

GRANTALLONVIEW-1TOUSER-2管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.2平安維護(hù)(securityprotection)管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.2平安維護(hù)(securityprotection)4)攻擊審計(jì)已發(fā)生攻擊操作及危害系統(tǒng)平安事件的檢測(cè)和審計(jì)。追蹤惡意破壞活動(dòng)。

2.技術(shù)1)靜態(tài)技術(shù)

利用軟件設(shè)計(jì)闡明書、流程圖分析、明確易被攻擊的環(huán)節(jié)。

2)動(dòng)態(tài)技術(shù)

實(shí)踐運(yùn)轉(zhuǎn)檢測(cè)(控制邏輯,…)

性能測(cè)試(測(cè)試用例、仿真程序)

3)結(jié)果驗(yàn)證

數(shù)據(jù)的選擇、搜集和分析。管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.2平安維護(hù)(securityprotection)5.2.5數(shù)據(jù)加密以密文方式保管和傳輸數(shù)據(jù)(只需知道密鑰的用戶才干訪問)。1.處置流程2.加密方法

信息編碼信息換位信息交換管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.3完好性維護(hù)(integralityprotection)5.3.1概述1、定義——數(shù)據(jù)的正確性,有效性和相容性。指數(shù)據(jù)庫中數(shù)據(jù)與現(xiàn)實(shí)世界的實(shí)踐情況是相符合的或數(shù)據(jù)庫中數(shù)據(jù)本身不存在自相矛盾的景象。A=10A=10U1U1U1管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.3完好性維護(hù)(integralityprotection)

2、功能1〕完好性要求定義;2〕監(jiān)視事務(wù)執(zhí)行,測(cè)試能否違反完好性限制條件;3〕假設(shè)發(fā)生違反情況,那么進(jìn)展相應(yīng)處置〔回絕、報(bào)告、糾正、忽略〕?,F(xiàn)實(shí)世界的A與DB中的A堅(jiān)持一致,且U1、U2、U3等一切用戶從DB中查詢的結(jié)果均為10,那么稱A具有完好性,否那么就是不完好的。管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.3完好性維護(hù)(integralityprotection)3、完好性類型1)實(shí)體完好性2)參照完好性3)用戶定義完好性4.處置由DBMS提供的一種檢查數(shù)據(jù)能否滿足語義規(guī)定條件〔即完好性約束條件〕的機(jī)制〔完好性檢查〕。――數(shù)據(jù)的約束條件是語義的表達(dá),DBMS提供完好性約束條件定義機(jī)制,并將這些定義作為方式的一部分存入數(shù)據(jù)庫中。SQL言語CREATETABLE命令的Constraint子句即用以定義完好性約束條件。管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.3完好性維護(hù)(integralityprotection)5.3.2

完好性約束條件

1、根本概念①定義:施加于DB中數(shù)據(jù)之上的語義限制條件.②約束對(duì)象粒度:列級(jí)、元組級(jí)、關(guān)系級(jí)③約束對(duì)象形狀靜態(tài):反映DB形狀合理性的約束。動(dòng)態(tài):反映DB形狀變化的約束。④約束時(shí)機(jī)〔Immediateconstraints〕〔1〕立刻約束:——一條語句執(zhí)行完后立刻檢查?!?〕延遲約束:——事務(wù)執(zhí)行終了后檢查。例如:轉(zhuǎn)帳,從A到B后,帳才干平,才干進(jìn)展檢查。管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.3完好性維護(hù)(integralityprotection)管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.3完好性維護(hù)(integralityprotection)2、靜態(tài)列級(jí)約束——對(duì)一個(gè)列的取值域的約束。①數(shù)據(jù)類型約束〔類型、長(zhǎng)度、單位、精度〕如:姓名XM為Char長(zhǎng)8位;年齡NL為Int型,長(zhǎng)3位。②數(shù)據(jù)格式約束如:任務(wù)證號(hào)前2位表示省,后3位表示縣,后4位表示單位順序號(hào),后5位表示個(gè)人順序號(hào)。③值域約束如:成果CJ≤100,年齡NL≤150,性別XB={男,女}④空值約束能否允許空值列。如:成果CJ可為空。⑤其它約束

管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.3完好性維護(hù)(integralityprotection)3、靜態(tài)元組約束對(duì)一個(gè)〔僅一個(gè)〕元組中各列值間聯(lián)絡(luò)的約束。如:總額≥單價(jià)工齡<年齡實(shí)發(fā)工資=應(yīng)發(fā)工資-總扣款4、靜態(tài)關(guān)系約束——對(duì)一個(gè)關(guān)系中假設(shè)干元組之間或假設(shè)干關(guān)系的聯(lián)絡(luò)的約束。①實(shí)體完好性約束②參照完好性約束③函數(shù)依賴約束④統(tǒng)計(jì)約束如:職工最低工資不能低于本部門職工平均工資的50%。老板工資不能超越員工平均工資的10倍。

管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.3完好性維護(hù)(integralityprotection)5、動(dòng)態(tài)列級(jí)約束——修正列定義或列值時(shí)的約束。①修正定義約束——修正定義時(shí)新老值間的約束。如:將允許空值列改為不允許空值時(shí),假設(shè)該列值已有空值,那么不可修正。②修正值約束——修正時(shí)新舊值間的約束。如年齡不能修正得更小(只會(huì)長(zhǎng)大)。

6、動(dòng)態(tài)元組約束——修正元組時(shí)新舊值間的約束。

7、動(dòng)態(tài)關(guān)系約束——施加于關(guān)系上的前后形狀的約束。如:事務(wù)的一致性和原子性約束就是保證動(dòng)態(tài)關(guān)系約束的技術(shù)。管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.3完好性維護(hù)(integralityprotection)5.3.3完好性控制1、實(shí)體完好性〔entityintegrity〕——對(duì)關(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會(huì)在PrimaryKey上自動(dòng)加上Index在Unique上的Index需另行聲明

管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.3完好性維護(hù)(integralityprotection)多屬碼必需用表約束定義單屬碼可用列約束或表約束定義管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.3完好性維護(hù)(integralityprotection)2、參照完好性〔referentialintegrity〕——對(duì)外碼施加的完好性控制。參照關(guān)系:外碼所在關(guān)系,如STUDENT、SC,常稱為從表或子表;被參照關(guān)系:主碼〔同時(shí)又是另一關(guān)系中的外碼〕所在關(guān)系,如student,course常稱為主表或父表。CLASSClnoClnameMajor01雙學(xué)位計(jì)算機(jī)02專生本數(shù)學(xué)04自修物理05研討生化學(xué)STUDENTSSnSnameClno991001牛得草01991020草上飛01001001魚得水04001101雪上飄05管理資源吧〔glzy8〕,提供海量管理資料免費(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表示。

管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.3完好性維護(hù)(integralityprotection)父表子表不同,外碼為子表的主屬性STUDENTS(Sno,Sname,Clno)父表COURSEES〔Cno,cname,Score〕父表SC〔Sno,cno,Grade〕子表外碼Sno,Cno,為子表SC的主屬性2〕外碼的取值NULL〔只需外碼為子表非主屬性時(shí)可取空值〕為父表中的某值的援用

管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.3完好性維護(hù)(integralityprotection)3〕控制戰(zhàn)略(A)插入戰(zhàn)略在從表中插入元組受限插入:僅當(dāng)父表中存在插入元組在外碼值的相應(yīng)元組時(shí),系統(tǒng)執(zhí)行插入操作,否那么回絕此插入操作。遞歸插入假設(shè)父表中不存在與插入元組相對(duì)應(yīng)的相應(yīng)元組,那么首先向父表中插入相應(yīng)元組,然后再向子表中插入該元組。管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.3完好性維護(hù)(integralityprotection)(B)修正戰(zhàn)略修正父表主碼置空修正將從表中相關(guān)記錄在外碼上的值全部置為NULL。例如:要將CLASS表中的Clno=‘01’改為‘101’,那么由DBMS自動(dòng)將STUDENTS表中的一切Clno=‘01’的記錄的Clno屬性置NULL?;亟^修正回絕執(zhí)行此類操作。

管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.3完好性維護(hù)(integralityprotection)關(guān)聯(lián)修正將從表中相關(guān)記錄在外碼上的值一同自動(dòng)修正。例如:要將CLASS表中的Clno=‘01’改為‘101’,那么由DBMS自動(dòng)將STUDENTS表中的一切Clno=‘01’的記錄的Clno都修正為‘101’。修正從表外碼回絕修正/受限插入假設(shè)父表中存在待修正值,那么執(zhí)行,否那么不允許執(zhí)行此類修正操作。例如:Sno=‘991001’的學(xué)生的Clno=‘05’,將其clno改為‘01’,那么執(zhí)行,假設(shè)改為‘AA’,那么回絕執(zhí)行?!睠LASS表中不存在clno=‘AA’的記錄〕管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.3完好性維護(hù)(integralityprotection)遞歸插入假設(shè)父表中不存在待修正值,那么先在父表中自動(dòng)插入一條包含修正值的記錄,然后再修正從表外碼。例如:上例中將Sno=‘991001’的學(xué)生的clno改為‘AA’的操作。用此控制戰(zhàn)略,將先在CLASS表中插入clno=‘AA’的記錄,然后將STUDENTS中的Sno=‘991001’的學(xué)生的clno改為‘AA’。(C)刪除戰(zhàn)略刪除父表元組置空刪除〔NULLIFIES〕刪除父表中元組的同時(shí),自動(dòng)將子表中的相關(guān)元組的外碼置NULL值。例如:刪除CLASS表clno=‘01’的元組時(shí),DBMS自動(dòng)將STUDENTS表中一切clno=‘01’的元組的clno改為NULL值。管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.3完好性維護(hù)(integralityprotection)受限刪除〔RESTRICTED〕發(fā)出警告,回絕執(zhí)行此類操作。關(guān)聯(lián)刪除〔CASCADES〕刪除父表中元組的同時(shí),自動(dòng)刪除子表中的相關(guān)元組。例如:刪除CLASS表clno=‘01’的元組時(shí),DBMS自動(dòng)將STUDENTS表中一切clno=‘01’的元組一同刪除。株連九族式。管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.3完好性維護(hù)(integralityprotection)3、用戶定義完好性〔integrityofuserdefinition〕1〕空值控制——對(duì)給定屬性施加不允許空值限制〔NOTNULL〕2〕單個(gè)屬性控制〔Check約束〕為:〔CJisNull〕OR(CJBETWEENOAND100)3〕多屬性控制如:XB=‘男’ANDNL<=304〕觸發(fā)器〔Trigger〕Trigger那么是基于對(duì)表的操作〔動(dòng)作〕的;當(dāng)指定的表上發(fā)生特定的操作,系統(tǒng)便激活Trigger程序。產(chǎn)品均支持T管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.4事務(wù)及事務(wù)特性(transactionandit'scharacteristics)5.4.1事務(wù)〔transaction〕1、定義構(gòu)成一個(gè)獨(dú)立邏輯任務(wù)單位的數(shù)據(jù)庫操作集。一條SQL語句;一組SQL語句序列;一個(gè)包含對(duì)DB操作的運(yùn)用程序。管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.4事務(wù)及事務(wù)特性(transactionandit'scharacteristics)2、構(gòu)成方式①顯式BEGINTRANSACTION……SQL語句ENDTRANSACTION/COMMIT/ROLLBACK其中:COMMIT提交,事務(wù)對(duì)DB的修正寫回到磁盤上的DB中去。ROLLBACK:回滾,吊銷對(duì)DB之修正,恢復(fù)到事務(wù)開場(chǎng)形狀。②缺省一條或多條SQL語句COMMIT/ROLLBACK管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.4事務(wù)及事務(wù)特性(transactionandit'scharacteristics)5.4.2事務(wù)的ACID性質(zhì)1、原子性〔Atomicity〕①定義事務(wù)是一個(gè)不可分割的任務(wù)單元,其對(duì)DB的操作要么都做,要么都不做。②目的保證DB數(shù)據(jù)的一致性〔轉(zhuǎn)帳問題〕。③技術(shù)日志+ROLLBACK〔UNDO〕〔不測(cè)終止〕;并發(fā)控制〔交叉執(zhí)行〕。④實(shí)現(xiàn)實(shí)現(xiàn)由DBMS自動(dòng)完成。管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.4事務(wù)及事務(wù)特性(transactionandit'scharacteristics)2、一致性〔consistency〕

①定義

事務(wù)的執(zhí)行必需是將DB從一個(gè)正確〔一致〕形狀轉(zhuǎn)換到另一個(gè)正確〔一致〕形狀。

如:轉(zhuǎn)帳問題中,A有100萬人民幣是一個(gè)正確形狀,減去50萬,轉(zhuǎn)到B帳上50萬,DB從一個(gè)正確形狀轉(zhuǎn)變到另一個(gè)正確形狀,這兩個(gè)操作,假設(shè)只做其中一個(gè),那么不能實(shí)現(xiàn)DB從一個(gè)正確形狀轉(zhuǎn)到另一個(gè)正確形狀,破壞了事務(wù)一致性。

②目的

保證DB數(shù)據(jù)一致性〔喪失更新、讀臟、讀不可反復(fù)〕。

③技術(shù)

并發(fā)控制。

④實(shí)現(xiàn)

用戶定義事務(wù)〔保證相關(guān)操作在一個(gè)事務(wù)中〕;

DBMS自動(dòng)維護(hù)之。管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.4事務(wù)及事務(wù)特性(transactionandit'scharacteristics)3、隔離性〔isolation〕①定義一個(gè)事務(wù)中對(duì)DB的操作及運(yùn)用的數(shù)據(jù)與其它并發(fā)事務(wù)無關(guān),并發(fā)執(zhí)行的事務(wù)間不能相互關(guān)擾。②目的防止鏈?zhǔn)截舱邸"奂夹g(shù)并發(fā)控制。④實(shí)現(xiàn)DBMS自動(dòng)實(shí)現(xiàn)。管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.4事務(wù)及事務(wù)特性(transactionandit'scharacteristics)4、耐久性〔durability〕

①定義

一個(gè)已提交事務(wù)對(duì)DB的更新是永久性的,不受后來缺點(diǎn)的影響。

②目的:保證DB可靠性

③技術(shù)

備份+日志。

④實(shí)現(xiàn):DBMS恢復(fù)子系統(tǒng)自動(dòng)實(shí)現(xiàn)。管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.5并發(fā)控制技術(shù)(technologyofcontrolsimultaneously)并發(fā)操作調(diào)度:保證多用戶并發(fā)操作數(shù)據(jù)庫中信息時(shí)的正確性、一致性所采取的措施。封鎖:一種并發(fā)調(diào)度的技術(shù)。

管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.5并發(fā)控制技術(shù)(technologyofcontrolsimultaneously)5.5.1并發(fā)操作調(diào)度1.

問題的提出1)喪失更新〔lostupdate〕

——兩個(gè)以上事務(wù)從DB中讀入同一數(shù)據(jù)并修正之,其中一事務(wù)的提交結(jié)果破壞了另一事務(wù)的提交結(jié)果,導(dǎo)致該事務(wù)對(duì)DB的修正被喪失。

2)不可反復(fù)讀〔readnorepeatable〕

——同一事務(wù)反復(fù)讀同一數(shù)據(jù),但獲得結(jié)果不同。

3)讀“臟〞數(shù)據(jù)(readdirty)

——讀未提交的隨后又被吊銷(Rollback)的數(shù)據(jù)。管理資源吧〔glzy8〕,提供海量管理資料免費(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先后讀入同一個(gè)數(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對(duì)數(shù)據(jù)庫的修正,從而使事務(wù)1對(duì)數(shù)據(jù)的修正喪失。時(shí)間

T1

DB中A值

T2

注:A=16表示從DB中讀入A值。

t1

讀A=16

16

……t2

……讀A=16

t3

計(jì)算A:=A-1

……存盤COMMIT

15

t4

15

計(jì)算A:=A-1存盤COMMIT

管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.5并發(fā)控制技術(shù)(technologyofcontrolsimultaneously)管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.5并發(fā)控制技術(shù)(technologyofcontrolsimultaneously)2〕不可反復(fù)讀不可反復(fù)讀是指事務(wù)1讀取數(shù)據(jù)后,事務(wù)2執(zhí)行更新操作,使事務(wù)1無法再現(xiàn)前一次讀取結(jié)果。詳細(xì)地講,不可反復(fù)讀包括三種情況:事務(wù)1讀取某一數(shù)據(jù)后,事務(wù)2對(duì)其做了修正,當(dāng)事務(wù)1再次讀該數(shù)據(jù)時(shí),得到與前一次不同的值。事務(wù)1按一定條件從數(shù)據(jù)庫中讀取某些數(shù)據(jù)記錄后,事務(wù)2刪除了其中部分記錄,當(dāng)事務(wù)1再次按一樣條件讀取數(shù)據(jù)時(shí),發(fā)現(xiàn)某些記錄奧秘地消逝了。事務(wù)1按一定條件從數(shù)據(jù)庫中讀取某些數(shù)據(jù)記錄后,事務(wù)2插入了一些記錄,當(dāng)事務(wù)1再次按一樣條件讀取數(shù)據(jù)時(shí),發(fā)現(xiàn)多了一些記錄。管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.5并發(fā)控制技術(shù)(technologyofcontrolsimultaneously)時(shí)間T1

DB中值T2t1

讀A=50讀B=100計(jì)算S:=A+B=150A=50B=100S=150

t2

A=50B=200S=150

讀B=100計(jì)算B:=2*B=200COMMIT

t3

讀A=50讀B=200計(jì)算S:=A+B=250

事務(wù)T1驗(yàn)算結(jié)果不正確

管理資源吧〔glzy8〕,提供海量管理資料免費(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由于某種緣由被撤銷,這時(shí)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,假設(shè)T1被撤銷,其修正作廢,C應(yīng)恢復(fù)為100,這時(shí)再看T2讀到的C值就成了無根據(jù)的數(shù)據(jù)。

管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.5并發(fā)控制技術(shù)(technologyofcontrolsimultaneously)產(chǎn)生上述三類數(shù)據(jù)不一致的緣由:并發(fā)操作破壞了事務(wù)的隔離性。因此對(duì)事務(wù)的并發(fā)操作必需加以控制,才干防止此類景象的發(fā)生。并發(fā)控制:用正確的方法調(diào)度并發(fā)操作,使一個(gè)事務(wù)的執(zhí)行不受其他事務(wù)的干擾,從而防止數(shù)據(jù)的不一致景象。管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.5并發(fā)控制技術(shù)(technologyofcontrolsimultaneously)2.正確性規(guī)范1〕單個(gè)事務(wù)

——假設(shè)非并發(fā)的執(zhí)行,每個(gè)事務(wù)都能保證DB的正確性。

〔上述問題,都是因事務(wù)并發(fā)執(zhí)行產(chǎn)生〕

2〕多個(gè)事務(wù)

——多個(gè)事務(wù)以恣意串行方式執(zhí)行都能保證DB的正確性。時(shí)間T1

DB中A值T2

注:無論是T1、T2順序或是T2、T1順序,結(jié)果A都為14t1讀A=1616……t2A:=A-1t3COMMIT15……t415A=15t515A:=A-1t614COMMIT管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.5并發(fā)控制技術(shù)(technologyofcontrolsimultaneously)顯然,任何一事務(wù)并發(fā)執(zhí)行時(shí)制止其它事務(wù)執(zhí)行,總能保證DB正確性,但不利于數(shù)據(jù)共享。3〕可串行化調(diào)度〔Serializability〕——當(dāng)且僅當(dāng)多個(gè)事務(wù)并發(fā)執(zhí)行的結(jié)果與該事務(wù)任一串行執(zhí)行的結(jié)果一樣時(shí),那么該并發(fā)執(zhí)行是可串行化的。

3.并發(fā)控制〔可串行化調(diào)度〕方法

1〕加鎖控制〔Locking〕

2〕樂觀假設(shè)〔Optimistic〕

3〕時(shí)標(biāo)〔timestamping〕

管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.5并發(fā)控制技術(shù)(technologyofcontrolsimultaneously)5.5.2封鎖1、封鎖并發(fā)控制的一種技術(shù)。2、封鎖規(guī)那么①對(duì)將要存取的數(shù)據(jù)須先懇求加鎖,加鎖勝利才干存?。虎谝驯患渔i的數(shù)據(jù)不能再加不相容鎖;③一旦退出運(yùn)用應(yīng)適時(shí)釋放鎖;④未被加鎖的數(shù)據(jù)不可對(duì)之解鎖。3、封鎖類型1)排它鎖〔X鎖:exclusivelock〕又稱寫鎖假設(shè)事務(wù)Ti持有數(shù)據(jù)Di的X鎖,那么Ti可讀、寫Di,其它任何事務(wù)不能再對(duì)Di加任何鎖,直至Ti釋放該X鎖。X鎖用于寫維護(hù),防止喪失更新。管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.5并發(fā)控制技術(shù)(technologyofcontrolsimultaneously)2)共享鎖〔S鎖:sharelock〕又稱讀鎖假設(shè)事務(wù)Ti持有數(shù)據(jù)Di的S鎖,那么其它事務(wù)仍可對(duì)Di加S鎖,但不可加X鎖,直到Ti釋放該S鎖。一旦施加S鎖,讀可共享但其它事務(wù)不可改。S鎖用于讀操作。封鎖類型的相容矩陣T1T2XS-Y相容的請(qǐng)求N不相容的請(qǐng)求XNNYSNYY-YYY管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.5并發(fā)控制技術(shù)(technologyofcontrolsimultaneously)4.懇求時(shí)機(jī)1)事務(wù)開場(chǎng)時(shí)懇求〔常用〕·無死鎖;·鎖開銷少;·并發(fā)性低2)一個(gè)SQL語句開場(chǎng)時(shí)·并發(fā)性高;·鎖開銷大;·易產(chǎn)生死鎖;·提交頻繁5.封鎖粒度〔granularity〕——被封鎖數(shù)據(jù)的范圍邏輯單元:整個(gè)DB、整個(gè)關(guān)系、整個(gè)索引、元組、索引項(xiàng)、屬性值集、屬性值。物理單元:塊、數(shù)據(jù)頁、索引頁。評(píng)價(jià):1〕粒度大:被封鎖對(duì)象少,并發(fā)性差,開銷小。2〕粒度?。罕环怄i對(duì)象多,并發(fā)性高,開銷大。管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.5并發(fā)控制技術(shù)(technologyofcontrolsimultaneously)6.封鎖粒度選擇的普通戰(zhàn)略1〕需常存取多個(gè)關(guān)系的大量元組時(shí)宜采用DB級(jí)粒度;2〕需常存取單個(gè)關(guān)系大量元組時(shí)宜采用關(guān)系級(jí)粒度;3〕需常存取單個(gè)關(guān)系少量元組時(shí)宜采用元組級(jí)粒度;4〕普通不采用屬性級(jí)粒度;5〕物理單元普通不宜采用。7.封鎖協(xié)議〔Lockingprotocol〕1)概念〔何謂封鎖協(xié)議〕——懇求、持有和釋放鎖的規(guī)那么。2)目的——實(shí)現(xiàn)正確的并發(fā)操作調(diào)度。3)類別①支持一致性維護(hù)的三級(jí)封鎖協(xié)議;②支持并行調(diào)度可串行化的兩段鎖協(xié)議;③防止死鎖協(xié)議。管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.5并發(fā)控制技術(shù)(technologyofcontrolsimultaneously)5.5.3三級(jí)封鎖協(xié)議1.1級(jí)封鎖協(xié)議

1〕戰(zhàn)略

事務(wù)Ti在修正數(shù)據(jù)Di之前須先對(duì)Di加X鎖,直到事務(wù)Ti終了〔commit/rollback〕才釋放。

2〕功能

防止喪失修正;

保證Ti可恢復(fù)〔假設(shè)不測(cè)終止,那么rollback后才可釋放〕。

3〕問題:不能防止不可反復(fù)讀和讀“臟〞數(shù)據(jù)。

〔1級(jí)協(xié)議僅對(duì)修正操作,假設(shè)讀那么不加鎖〕管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.5并發(fā)控制技術(shù)(technologyofcontrolsimultaneously)遵照一級(jí)封鎖協(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ù)管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.5并發(fā)控制技術(shù)(technologyofcontrolsimultaneously)2.2級(jí)封鎖協(xié)議1)戰(zhàn)略1級(jí)封鎖協(xié)議加上事務(wù)Ti在讀取Di之前必需對(duì)Di加S鎖,讀完后即可釋放該S鎖。2)功能·防止喪失修正;·防止讀臟。3)問題:不能防止讀不可反復(fù)〔讀完即釋放,重讀時(shí)能夠其它事務(wù)對(duì)之修正〕。

管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.5并發(fā)控制技術(shù)(technologyofcontrolsimultaneously)遵照二級(jí)封鎖協(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ù)避免了管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.5并發(fā)控制技術(shù)(technologyofcontrolsimultaneously)3.3級(jí)封鎖協(xié)議

1)戰(zhàn)略

在1級(jí)封鎖協(xié)議上加上事務(wù)Ti讀Di前須先對(duì)Di加S鎖,直至Ti終了后才釋放該S鎖。

2)功能

·防止喪失修正;

·防止讀“臟〞;

·防止讀不可反復(fù)。

管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.5并發(fā)控制技術(shù)(technologyofcontrolsimultaneously)遵照三級(jí)封鎖協(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ù)避免了管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.5并發(fā)控制技術(shù)(technologyofcontrolsimultaneously)三級(jí)封鎖協(xié)議的主要區(qū)別在于何種操作需求懇求封鎖,以及獲得封鎖后何時(shí)釋放鎖〔持鎖時(shí)間〕。分別采用三級(jí)封鎖協(xié)議中不同級(jí)別的協(xié)議,得到的一致性保證是不同的。X鎖S鎖一致性保證操作結(jié)束釋放事務(wù)結(jié)束釋放操作結(jié)束釋放事務(wù)結(jié)束釋放不丟失修改不讀臟數(shù)據(jù)可重復(fù)讀一級(jí)√√二級(jí)√√√√三級(jí)√√√√√管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.5并發(fā)控制技術(shù)(technologyofcontrolsimultaneously)5.5.4死鎖〔deadlock〕1.含義兩個(gè)或兩個(gè)以上事務(wù)均處于等待形狀,每個(gè)事務(wù)都在等待其中另一個(gè)事務(wù)封鎖的數(shù)據(jù),導(dǎo)致任何事務(wù)都不能繼續(xù)執(zhí)行的景象稱為死鎖。2.產(chǎn)生條件

①互斥〔排它性控制〕;

②不可剝奪〔釋放鎖前,其它事務(wù)不能剝奪〕;

③部分分配〔每次懇求一部分,懇求新的鎖時(shí),又占用已

獲得者〕;

④環(huán)路〔循環(huán)鏈中,每事務(wù)獲得的數(shù)據(jù)同時(shí)又被另一事務(wù)

懇求〕。

管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.5并發(fā)控制技術(shù)(technologyofcontrolsimultaneously)T1、T2是兩個(gè)均須修正數(shù)據(jù)A、B的事務(wù),假設(shè)用戶程序遵照三級(jí)封鎖協(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的鎖…(等待)一直等待下去管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.5并發(fā)控制技術(shù)(technologyofcontrolsimultaneously)3.預(yù)防:——防止產(chǎn)生條件之一發(fā)生〔破壞產(chǎn)生死鎖的條件〕

①一次封鎖法

——每個(gè)事務(wù)事先一次獲得所需數(shù)據(jù)的全部鎖。

如:T1獲得一切數(shù)據(jù)A、B鎖,T1延續(xù)執(zhí)行,T2等待;T1執(zhí)行完后釋放A、B鎖,T2繼續(xù)執(zhí)行,不會(huì)發(fā)生死鎖。

特征:·簡(jiǎn)單;無死鎖;粒度大;并發(fā)度低;

·難以確定封鎖對(duì)象。

〔DB數(shù)據(jù)變化,不能預(yù)先確定封鎖對(duì)象,只好擴(kuò)展封鎖范圍〕

②順序封鎖法

——事務(wù)按預(yù)先確定的數(shù)據(jù)封鎖順序?qū)嵭蟹怄i。如:B樹從根開場(chǎng)

特征:·無死鎖;

·順序難以確定;

·〔運(yùn)轉(zhuǎn)中才發(fā)現(xiàn)要封鎖對(duì)象〕封鎖對(duì)象難以確定。管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.5并發(fā)控制技術(shù)(technologyofcontrolsimultaneously)4.診斷與解除①等待圖法;構(gòu)造事務(wù)的等待圖;周期性檢測(cè)該等待圖;判別存在回路否;存在,那么吊銷某一事務(wù);選擇一個(gè)處置死鎖代價(jià)最小的事務(wù)〔NP難度問題〕;釋放一切鎖,使其它事務(wù)繼續(xù)運(yùn)轉(zhuǎn)。②超時(shí)法當(dāng)一個(gè)事務(wù)的等待時(shí)間超越規(guī)定的時(shí)限,那么以為發(fā)生死鎖,撤銷該事務(wù)。實(shí)現(xiàn)簡(jiǎn)單存在問題能夠誤判死鎖;時(shí)限規(guī)范難以把握管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.5并發(fā)控制技術(shù)(technologyofcontrolsimultaneously)5.5.5活鎖〔livelock〕1、含義——事務(wù)因故永遠(yuǎn)處于等待形狀。如:T1T2T3T4…TnLOCK(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.

管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.5并發(fā)控制技術(shù)(technologyofcontrolsimultaneously)2、預(yù)防方法FCFS:FirstComeFirstServer先來先效力。對(duì)于事務(wù)有優(yōu)先級(jí)的系統(tǒng),可設(shè)置一個(gè)最長(zhǎng)等待時(shí)間,與優(yōu)先級(jí)結(jié)合,調(diào)度事務(wù)的執(zhí)行。管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.5并發(fā)控制技術(shù)(technologyofcontrolsimultaneously)5.5.6兩段鎖協(xié)議-2PL:two-phaselocking1.可串行性可串行性是事務(wù)并發(fā)執(zhí)行正確性的判別準(zhǔn)那么,給定一個(gè)并發(fā)調(diào)度,當(dāng)且僅當(dāng)它是可串行化的,才以為它是正確的。假設(shè)有兩個(gè)事務(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管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.5并發(fā)控制技術(shù)(technologyofcontrolsimultaneously)下面給出幾種不同的調(diào)度戰(zhàn)略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)度管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.5并發(fā)控制技術(shù)(technologyofcontrolsimultaneously)2.含義事務(wù)分為兩個(gè)階段:·第一階段稱為擴(kuò)展階段〔獲得鎖〕;·第二階段稱為收縮階段〔釋放鎖〕。遵照兩段鎖協(xié)議的事務(wù),其封鎖序列可以為:SLOCK(A)SLOCK(B)XLOCK(C)UNLOCK(B)UNLOCK(A)UNLOCK(C)不遵照兩段鎖協(xié)議的事務(wù),其封鎖序列能夠?yàn)椋篠LOCK(A)UNLOCK(A)SLOCK(B)XLOCK(C)UNLOCK(B)UNLOCK(C)擴(kuò)展階段收縮階段管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.5并發(fā)控制技術(shù)(technologyofcontrolsimultaneously)3.戰(zhàn)略①在對(duì)任何數(shù)據(jù)讀、寫之前,須先獲得該數(shù)據(jù)鎖〔且〕;②在釋放一個(gè)封鎖之后,該事務(wù)不能再懇求任何其它鎖。4.目的:實(shí)現(xiàn)并發(fā)操作調(diào)度的可串行化。事務(wù)遵照兩段鎖協(xié)議是可串行化調(diào)度的充分條件,而不是必要條件。即假設(shè)并發(fā)事務(wù)都遵照兩段鎖協(xié)議,那么對(duì)其的任何并發(fā)調(diào)度戰(zhàn)略都是可串行化的;假設(shè)對(duì)并發(fā)事務(wù)的一個(gè)調(diào)度是可串行化的,但該事務(wù)不一定符合兩段鎖協(xié)議〔釋放一個(gè)鎖之后又繼續(xù)去獲得另一個(gè)鎖的事務(wù)依然能夠產(chǎn)生正確結(jié)果〕。

管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.6數(shù)據(jù)庫恢復(fù)技術(shù)(technologyofrestoringDB)什么是DB恢復(fù)將因破壞或缺點(diǎn)而導(dǎo)致的DB數(shù)據(jù)的錯(cuò)誤形狀恢復(fù)到最近一個(gè)正確形狀的技術(shù)?!つ康?、堅(jiān)持事務(wù)原子性;2、堅(jiān)持事務(wù)耐久性。

管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.6數(shù)據(jù)庫恢復(fù)技術(shù)(technologyofrestoringDB)5.6.1DBS缺點(diǎn)1.事務(wù)缺點(diǎn):事務(wù)執(zhí)行時(shí)未能到達(dá)預(yù)期的終點(diǎn)。1〕分類邏輯錯(cuò)誤〔事務(wù)程序本身的錯(cuò)誤〕數(shù)據(jù)輸入錯(cuò)、溢出、資源缺乏、運(yùn)用程序錯(cuò)誤。系統(tǒng)錯(cuò)誤死鎖等。2〕特征導(dǎo)致事務(wù)夭折;夭折事務(wù)對(duì)DB的部分修正能夠已寫入DB?!睤B處于不正確或不一致形狀〕管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.6數(shù)據(jù)庫恢復(fù)技術(shù)(technologyofrestoringDB)2、系統(tǒng)缺點(diǎn):呵斥系統(tǒng)停頓運(yùn)轉(zhuǎn)的任何事件,使得系統(tǒng)要重新啟動(dòng)。1〕分類硬件的缺點(diǎn)〔CPU等〕;軟件缺點(diǎn)〔DBMS,OS,APS〕;操作失誤;停掉電。2〕特征內(nèi)存數(shù)據(jù)喪失;外存數(shù)據(jù)不受影響;一些尚未完成事務(wù)的結(jié)果能夠已送入DB〔提交過程之中〕;已完成事務(wù)的結(jié)果能夠部分還未送入DB〔提交過程之中〕;已完成事務(wù)的結(jié)果全部未送入DB〔未及提交〕。

〔DB處于不正確或不一致形狀〕管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.6數(shù)據(jù)庫恢復(fù)技術(shù)(technologyofrestoringDB)3.介質(zhì)缺點(diǎn)指外存儲(chǔ)器缺點(diǎn)。1〕分類:磁盤損壞磁頭碰撞強(qiáng)磁場(chǎng)干擾等2〕特征數(shù)據(jù)庫遭到破壞,正存取的數(shù)據(jù)的事務(wù)遭到影響能夠性小破壞性最大

4.計(jì)算機(jī)病毒管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.6數(shù)據(jù)庫恢復(fù)技術(shù)(technologyofrestoringDB)5.6.2恢復(fù)技術(shù)(備份+日志)5.6.2.1備份技術(shù)1、備份方式1〕靜態(tài)備份〔轉(zhuǎn)儲(chǔ):dump〕——DBS中無事務(wù)運(yùn)轉(zhuǎn)時(shí)進(jìn)展轉(zhuǎn)儲(chǔ)。特征:·轉(zhuǎn)儲(chǔ)期間不對(duì)DB進(jìn)展任何操作;·一定得到一個(gè)一致性副本。優(yōu)點(diǎn):簡(jiǎn)單缺陷:·暫停一切事務(wù)運(yùn)轉(zhuǎn);·降低DB可用性。管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.6數(shù)據(jù)庫恢復(fù)技術(shù)(technologyofrestoringDB)2〕動(dòng)態(tài)備份——轉(zhuǎn)儲(chǔ)與事務(wù)并發(fā)執(zhí)行·特征:轉(zhuǎn)儲(chǔ)期間可對(duì)DB進(jìn)展存取與修正操作?!?yōu)點(diǎn):不影響事務(wù)運(yùn)轉(zhuǎn)?!と毕荩翰荒鼙WC獲得一致性副本。如轉(zhuǎn)儲(chǔ)時(shí),某個(gè)值為100,但另一事務(wù)以后對(duì)之修正,這樣正備份的副本是與DB中實(shí)踐值不一致的過時(shí)數(shù)據(jù)。2、備份戰(zhàn)略1〕海量備份

·方法:定期或不定期將DB全部數(shù)據(jù)轉(zhuǎn)儲(chǔ)。

·優(yōu)點(diǎn):簡(jiǎn)單。

·缺陷:·反復(fù)轉(zhuǎn)儲(chǔ);

·轉(zhuǎn)儲(chǔ)量大;

·停頓運(yùn)轉(zhuǎn)〔靜態(tài)轉(zhuǎn)儲(chǔ)〕。管理資源吧〔glzy8〕,提供海量管理資料免費(fèi)下載!5.6數(shù)據(jù)庫恢復(fù)技術(shù)(technologyofrestoringDB)2〕增量備份〔incrementalclumping〕

·方法:每次轉(zhuǎn)儲(chǔ)上次轉(zhuǎn)儲(chǔ)后更新過的

溫馨提示

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

評(píng)論

0/150

提交評(píng)論