數(shù)據(jù)庫恢復和并發(fā)控制_第1頁
數(shù)據(jù)庫恢復和并發(fā)控制_第2頁
數(shù)據(jù)庫恢復和并發(fā)控制_第3頁
數(shù)據(jù)庫恢復和并發(fā)控制_第4頁
數(shù)據(jù)庫恢復和并發(fā)控制_第5頁
已閱讀5頁,還剩104頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第七章

數(shù)據(jù)庫恢復技術7.1.1事務事務Transaction用戶定義的一個數(shù)據(jù)庫操作序列,這些操作要么全做,要么全不做,是一個不可分割的工作單位事務和程序的關系在關系數(shù)據(jù)庫中,一個事務可以是一條SQL語句,一組SQL語句或整個程序一個應用程序通常包含多個事務定義事務BEGINTRANSACTION開頭:事務開始COMMIT結束:事務正常結束提交事務的所有操作事務中所有對數(shù)據(jù)庫的更新永久生效ROLLBACK結束:事務異常終止事務運行的過程中發(fā)生了故障,不能繼續(xù)執(zhí)行,撤銷事務的所有更新操作事務滾回到開始時的狀態(tài)7.1.3

事務的特性事務的ACID特性原子性(Atomicity)一致性(Consistency)隔離性(Isolation)持續(xù)性(Durability)1.原子性事務是數(shù)據(jù)庫的邏輯工作單位事務中包括的諸操作要么都做,要么都不做2.一致性事務執(zhí)行的結果必須使數(shù)據(jù)庫從一個一致性狀態(tài)變到另一個一致性狀態(tài)一致性狀態(tài):數(shù)據(jù)庫中只包含成功事務提交的結果不一致狀態(tài):數(shù)據(jù)庫中包含失敗事務的結果【舉例】帳號A帳號B-10000+10000總金額不變兩個操作要么全做,要么全不做全做或者全不做,數(shù)據(jù)庫都處于一致性狀態(tài)如果只做一個操作,數(shù)據(jù)庫就處于不一致性狀態(tài)3.隔離性對并發(fā)執(zhí)行而言,一個事務的執(zhí)行不能被其他事務干擾一個事務內(nèi)部的操作及使用的數(shù)據(jù)對其他并發(fā)事務是隔離的——一個事務在進入提交狀態(tài)以前,它對數(shù)據(jù)庫的更新不可由其它事務讀取并發(fā)執(zhí)行的各個事務之間不能互相干擾4.持續(xù)性一個事務一旦提交,它對數(shù)據(jù)庫中數(shù)據(jù)的改變就應該是永久性的接下來的其他操作或故障不應該對其執(zhí)行結果有任何影響7.2

數(shù)據(jù)庫恢復數(shù)據(jù)庫恢復故障是不可避免的:計算機硬件故障、系統(tǒng)軟件和應用軟件的錯誤、操作員的失誤、惡意的破壞故障的影響:運行事務非正常中斷、破壞數(shù)據(jù)庫數(shù)據(jù)庫的恢復:保證故障發(fā)生后,能把數(shù)據(jù)庫中的數(shù)據(jù)從錯誤狀態(tài)恢復到某種邏輯一致的狀態(tài)7.3故障的種類7.陪3.淡1事務鄰內(nèi)部閉的故弦障——不破男壞數(shù)賣據(jù)庫事務兇沒有揮達到茂預期逼的終租點(CO穩(wěn)MM艱IT或者稱顯式銹的RO鈴LL灑BA而CK)常見蠅原因:①輸入警數(shù)據(jù)啄有誤②運算質(zhì)溢出③違反膊了某厭些完鵲整性干限制④某些餅應用摸程序獨出錯⑤并行耐事務裝發(fā)生凍死鎖事務上故障怎的恢由復:立撤消侍事務君(UN偵DO)發(fā)生天事務泊故障暮時,蒜該事陰務可口能已廣把對蹤蝶數(shù)據(jù)爛庫的干部分衡修改湊寫回固磁盤強行冒回滾(RO掉LL創(chuàng)BA口CK)該事曾務撤銷勾該事曠務對煮數(shù)據(jù)編庫的往所有箏修改唇,使依得這撲個事搞務好硬像根啟本沒煙有啟哄動一尺樣7.柱3.赴2系統(tǒng)死故障——不破并壞數(shù)涌據(jù)庫操作超系統(tǒng)冶或DB蹲MS代碼風錯誤操作兩員操繞作失績誤特定久類型案的硬裂件錯蜂誤(繭如CP青U故障什)突然疊停電系統(tǒng)樣故障籠的恢闊復清除導尚未程完成縱的事努務對細數(shù)據(jù)本庫的販所有憲修改系統(tǒng)重新挪啟動時,甩恢復離程序裹要強行世撤消云(UN盟DO)所有詞未完賴成事煮務將緩柜沖區(qū)論中已饒完成仰事務符提交嫂的結慣果寫貝入數(shù)啊據(jù)庫系統(tǒng)重新笑啟動時,或恢復扁程序需要壁重做抹(RE少DO)所有滑已提威交的遭事務7.走3.岔3介質(zhì)艱故障——破壞薦數(shù)據(jù)刺庫硬故巧障使若存儲擋在外敲存中堂的數(shù)犬據(jù)部猛分丟河失或攀全部繳丟失架,影癥響正赤在存羊取這框部分慈數(shù)據(jù)購的所咱有事忠務介質(zhì)殺故障糟比前敬兩類境故障爪的可憐能性術小得源多,疲但破帶壞性燭大得分多7.涼4恢復洗的實盤現(xiàn)技抹術恢復恢復算操作濱的基血本原盯理:不冗余——利用柄存儲噸在系屋統(tǒng)其截它地為方的貴冗余盾數(shù)據(jù)揉來重冤建數(shù)肝據(jù)庫味中已旬被破礎壞或益不正篩確的朱那部圈分數(shù)群據(jù)恢復苦的實畝現(xiàn)技佛術:湖復雜——一個繩大型懶數(shù)據(jù)荒庫產(chǎn)棕品,院恢復貫子系頁統(tǒng)的景代碼歪要占償全部想代碼仿的10鏈%以上建立借冗余弱數(shù)據(jù)喬的方葉法數(shù)據(jù)賢轉(zhuǎn)儲登錄竭日志衫文件7.建4.公1數(shù)據(jù)允轉(zhuǎn)儲轉(zhuǎn)儲指DB棗A將整善個數(shù)功據(jù)庫昂復制揮到磁蠟帶或夜另一姜個磁火盤上抗保存斧起來趴的過級程這些蟻備用碼的數(shù)球據(jù)文害本稱在為后共備副選本或揚后援成副本圖7.賠2故障孝發(fā)生輝點轉(zhuǎn)儲運行臨事務↓正常叨運行─┼規(guī)──輕──認──影─┼喚──包──凈──炒──僻──票──革─TaTbTf重裝虛后備清副本重新餡運行動事務恢復─┼邀──遙──俊──述─┴--容--唱--峽--婆--面--→轉(zhuǎn)儲燃方式靜態(tài)僚轉(zhuǎn)儲動態(tài)敘轉(zhuǎn)儲轉(zhuǎn)儲顧方式——靜態(tài)匪轉(zhuǎn)儲在系毯統(tǒng)中提無運區(qū)行事眼務時芽進行餃的轉(zhuǎn)域儲操查作轉(zhuǎn)儲懸開始硬時數(shù)芽據(jù)庫海處于華一致糠性狀巧態(tài),資轉(zhuǎn)儲梨期間禾不允勻許對剝數(shù)據(jù)肉庫的磨任何飾存取醋、修些改活傲動優(yōu)點喜:實現(xiàn)濫簡單缺點反:降低修了數(shù)說據(jù)庫只的可攜用性——轉(zhuǎn)儲禾必須像等用應戶事序務結污束、碌新的及事務慰必須滔等轉(zhuǎn)德儲結健束故障趕發(fā)生服點靜態(tài)轉(zhuǎn)儲運行火事務↓正常蛾運行─┼滾──潑──玻──吊─┼壤──偽──想──譯──矛──限──削─TaTbTf重裝泡后備劃副本恢復─┼裙──債──滿──粉─┥轉(zhuǎn)儲裝過程聯(lián)中不另運行流任何賄事務轉(zhuǎn)儲本方式——動態(tài)層轉(zhuǎn)儲轉(zhuǎn)儲感期間累允許塊對數(shù)乞據(jù)庫叔進行運存取催或修糾改,加轉(zhuǎn)儲租操作否與用轟戶事過務并男發(fā)進欄行優(yōu)點墊:不用京等待丘正在處運行腸的用階戶事工務結黎束不會怕影響解新事流務的視運行動態(tài)兼轉(zhuǎn)儲猛的缺之點——不能代保證掀副本的中的憲數(shù)據(jù)株正確督有效轉(zhuǎn)儲開始Tc時刻A=100轉(zhuǎn)儲過程中Td時刻A改為200轉(zhuǎn)儲接的時貨候A的值婦已經(jīng)便不是披最新過的A值動態(tài)駱轉(zhuǎn)儲+日志期文件姓:故璃障恢賤復需要熄把動扁態(tài)轉(zhuǎn)收儲期與間各盆事務椒對數(shù)闊據(jù)庫覆的修俗改活曠動登暮記下亞來,伶建立哄日志再文件后備部副本號加上秋日志變文件朱才能乘把數(shù)景據(jù)庫響恢復攔到某面一時壘刻的敲正確寬狀態(tài)TaTbTf動態(tài)轉(zhuǎn)儲運行多事務故障肯發(fā)生品點正常脫運行─┼捎──盆──肅──樸─┼腹──明──師──賄──冬──弊──應───咳──薦──歪──咽─┼圓──旁──直──梨──羽──碰──花─轉(zhuǎn)儲劇日志累文件重裝縮慧后備嘩副本晃,然養(yǎng)后利筒用轉(zhuǎn)置儲的乘日志替文件績恢復恢復桿到一━━搞━━童━━瞇┥致性并狀態(tài)轉(zhuǎn)儲蠶過程頁中有仰事務懇運行海量令轉(zhuǎn)儲圈和增搭量轉(zhuǎn)飄儲海量忍轉(zhuǎn)儲:每次滲轉(zhuǎn)儲翻全部塵數(shù)據(jù)接庫增量也轉(zhuǎn)儲:只轉(zhuǎn)姓儲上議次轉(zhuǎn)匹儲后弟更新寨過的燦數(shù)據(jù)比較從恢網(wǎng)復角翅度看斯,使進用海補量轉(zhuǎn)侮儲得李到的習后備報副本萄進行寶恢復炒往往強更方桃便如果撕數(shù)據(jù)波庫很戲大,扎事務劉處理祖又十睜分頻裙繁,貝則增初量轉(zhuǎn)吧儲方司式更悟?qū)嵱门芨袎涡?shù)據(jù)液轉(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)儲7.肅4.作2日志課文件日志怎文件日志跑文件善是用陶來記鍵錄事云務對廣數(shù)據(jù)辮庫的暈更新場操作歡的文以件日志是文件陳的格厲式以記梯錄為蟲單位加的日截志文耳件以數(shù)逗據(jù)塊惠為單蛾位的陜?nèi)罩就嵛募?、以搏記錄井為單植位日鐘志文備件內(nèi)肝容各個聞事務估的開倚始標牢記(B鹽EG政IN議T逆RA凝NS役AC逼TI嚴ON宏)各個襖事務煙的結憐束標表記(C幸OM亭MI村T或RO預LL蜜BA直CK另)各個爪事務必的所墊有更主新操貓作每條別日志狡記錄平的內(nèi)只容事務塔標識操作溪類型感(插習入、面刪除朋或修珠改)操作越對象鈔(記袖錄內(nèi)喜部標哥識)更新律前數(shù)脈據(jù)的幕舊值能(對低插入飼操作畫而言火,此笑項為月空值魯)更新胞后數(shù)蘇據(jù)的泳新值恢(對集刪除障操作智而言,此項劇為空飲值)2、以現(xiàn)數(shù)據(jù)孩塊為養(yǎng)單位挽的日嶺志文制件內(nèi)忽容事務頑標識更新也前數(shù)閣據(jù)所燭在的句整個嘉數(shù)據(jù)連塊的殘值更新踏后整段個數(shù)算據(jù)塊賞的值日志缸文件朱的作敘用事務懸故障忘恢復系統(tǒng)激故障隆恢復協(xié)助后備創(chuàng)副本進行粉介質(zhì)倒故障洪恢復如果臟靜態(tài)屠轉(zhuǎn)儲源完成級后,周仍能膽定期叢轉(zhuǎn)儲叮日志察文件申,則蒜在數(shù)搬據(jù)庫租毀壞守后重攻裝數(shù)炸據(jù)副瀉本后竿,可連以利櫻用這助些日致志文推件副井本對召已完駐成的呀事務進行影重做位處理這樣不必根重新用運行下那些各已完核成的岡事務躁程序就可侄把數(shù)鼻據(jù)庫兔恢復刷到故檔障前第某一麥時刻逢的正譜確狀雙態(tài)圖7.英4故障輕發(fā)生舅點靜態(tài)亮轉(zhuǎn)儲挨運行循事務↓正常娘運行─┼憐──僅──唯──跨┼─切──來──悉──莊──擱─┼改──TaTbTf登記竊日志脆文件└─娘──掀──斤──鞋──寬──┴──重裝賊后備寄副本它利越用日映志文錘件恢躺復事芝務蠶繼續(xù)泰運行介質(zhì)塞故障御恢復──滲──粉──那──減─┴--枕--懷-─--粘--腦--賺-┴─塔──吼──持─登記棚日志喇文件└─漿──照──矛─登記織日志摔文件拳的原誤則登記肉的次考序嚴勾格按揉并行薪事務音執(zhí)行檔的時瘦間次址序必須崗先寫冒日志畫文件悅,后航寫數(shù)獸據(jù)庫1、寫庭日志湊文件萬操作躺:把早表示疑這個膛修改買的日范志記研錄寫愚到日船志文癥件2、寫復數(shù)據(jù)許庫操餡作:豈把對諸數(shù)據(jù)尚的修魯改寫凈到數(shù)謠據(jù)庫誰中先寫句日志兵文件劇原則寫數(shù)產(chǎn)據(jù)庫和寫日屆志文萌件是兩挎?zhèn)€不乓同的庭操作干、在協(xié)這兩埋個操劍作之藥間可乓能發(fā)葉生故若障如果妹先寫勒了數(shù)味據(jù)庫粘修改村,而花在日樓志文過件中顯沒有貓登記訓下這成個修嗓改,牽則以起后就詳無法善恢復揮這個布修改如果掀先寫風日志協(xié),但四沒有蹈修改睬數(shù)據(jù)駛庫,舉按日姐志文蛙件恢疾復時球只不鐘過是搞多執(zhí)炭行一退次不傲必要悅的UN覽DO操作壞,并棗不會簡影響覽數(shù)據(jù)糠庫的研正確宴性7.吵5恢復繩策略1.事務成故障企的恢起復——日志氣文件事務鬼故障得:事敵務在攝運行巾至正憶常終影止點猴前被掠中止恢復束方法旨:由睬恢復劈燕子系倦統(tǒng)利僻用日志即文件撤消突(UN坦DO)該事銳務已婦對數(shù)御據(jù)庫米進行樹的修璃改事務糊故障毀的恢欲復由債系統(tǒng)折自動誤完成永,對栽用戶決透明恢復童步驟1.從最晨后向顛前掃擺描日握志文棵件,窮查找啄該事數(shù)務的偏更新饒操作2.對該憂事務版的更按新操次作執(zhí)晴行逆津操作(1勸)插入營操作龍,前則相遠當于合做刪判除操峰作(2辱)刪除膏操作柱,則艦相當競于做幕插入問操作(3竟)修改甚操作勻,則惹用修改形前值代替修改知后值3.繼續(xù)涼反向梁掃描獨日志獲文件默,查禽找該殃事務蹄的其讀他更只新操侍作,幅并做熟同樣衣處理4.如此暑處理召下去威,直零至讀劍到此精事務此的開彩始標饞記,耳事務余故障透恢復情就完昂成了2.系統(tǒng)瞎故障彩的恢玩復——日志葬文件系統(tǒng)霉故障(1事)一些桑尚未得完成都的事墨務對寄數(shù)據(jù)噴庫的撲更新惡已寫斑入數(shù)催據(jù)庫(2夾)一些初已提瓣交事故務對斑數(shù)據(jù)傍庫的朝更新凝還留耕在緩愈沖區(qū),尚未乖寫入能數(shù)據(jù)哭庫恢復窯方法(1再)U累ND治O故障用發(fā)生揪時未前完成原的事愧務(2匆)R鳳ED詢O已完磨成的舅事務系統(tǒng)蛙故障達恢復志由系桂統(tǒng)在橫重新粗啟動衛(wèi)時自較動完淹成,路對用刑戶透遵明恢復翼步驟1.從頭很掃描形日志鍬文件RE累DO隊列:在故回障發(fā)衫生前掠已經(jīng)墳提交縣的事影務(有BE尸GI臥N遭TR敲AN棋SA延CT壤IO稍N和CO揀MM的IT滲)UN慘DO隊列:故障死發(fā)生齡時尚富未完倡成的刊事務(有BE聰GI蹲N絲式TR仙AN盛SA讀CT麗IO股N,無CO沙MM些IT系)2.對UN棋DO隊列盜事務符進行UN杜DO處理對每幫個事私務用“更匪新前兩的值李”寫入矛數(shù)據(jù)節(jié)庫3.對RE眉DO隊列憲事務壇進行RE病DO處理對每鼠個事網(wǎng)務用“更鼻新后部的值運”寫入堤數(shù)據(jù)怒庫3.介質(zhì)歌故障短的恢罰復步檢驟——后備債副本+日志礙文件冊副本1.裝入您最新億的后裹備副的本,監(jiān)使數(shù)姨據(jù)庫揭恢復席到最揭近一次轉(zhuǎn)充儲時撿的一移致性吩狀態(tài)(1車)靜態(tài)張轉(zhuǎn)儲的數(shù)前據(jù)庫刊副本傷,裝翅入后勸數(shù)據(jù)訂庫即某處于探一致舅性狀里態(tài)(2濟)動態(tài)受轉(zhuǎn)儲的數(shù)蚊據(jù)庫欲副本鑰,還蕉須同倚時裝統(tǒng)入轉(zhuǎn)嫂儲開龍始時遙刻的日志懼文件室副本,利誰用與砍恢復丘系統(tǒng)垂故障姨相同睛的方版法(膚即RE累DO數(shù)+U字ND獲O),才能制將數(shù)萄據(jù)庫臺恢復姐到一愈致性啞狀態(tài)2.裝入逐相應連的日志臨文件親副本,重做已完冰成的滾事務(1杠)掃描京日志握文件折,找視出故半障發(fā)卷生時喂已提遲交的幼事務梢的標墻識,子將其飽記入票重做汗隊列(2眠)然后甘正向挺掃描從日志略文件荒,對遵重做廟隊列必中的頃所有蔬事務壘進行膝重做壓處理室。將跡日志儉記錄熄中“鞏更新王后的茅值”悲寫入字數(shù)據(jù)慶庫ho遣me役wo你rk16呈0頁1,鴨7第八忽章欣并發(fā)臨控制并發(fā)晃控制躍機制神的任悄務(1圍)對并迫發(fā)操載作進腹行正糞確調(diào)糠度(2驚)保證讓事務搭的隔姨離性(3護)保證捕數(shù)據(jù)掠庫的意一致慮性數(shù)據(jù)醬庫的系不一仗致性(圖8.破2a送)

讀A=16

A←A-1寫回A=15①讀A=16

③A←A-1寫回A=15

④事務T2事務T1并發(fā)球操作萬帶來畝的數(shù)團據(jù)不閱一致見性丟失陸修改不可凍重復墾讀讀“蘆臟”墻數(shù)據(jù)一、圓丟失握修改事務1與事循務2從數(shù)葛據(jù)庫林中讀遵入同尸一數(shù)視據(jù)并歉修改港,事務2的提撫交結貞果破袍壞了脊事務1提交夠的結喪果,導致飾事務1的修各改被棟丟失二、齊不可勺重復拔讀事務1讀取框數(shù)據(jù)冶后,炎事務2執(zhí)行鋪更新粥操作爹,使事務1無法坊再現(xiàn)醫(yī)前一失次讀至取結封果不可塔重復木讀(維一)貴圖8.唱2b事務1讀取豈某一挺數(shù)據(jù)柏后,事務2對其阿做了毅修改岸,當事松務1再次尼讀該叼數(shù)據(jù)撐時,得到紙與前阻一次暖不同有的值

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

讀A=50讀B=100求和=150②

③讀A=50讀B=200求和=250(驗算不對)T2T1不可站重復促讀(賤二)事務1讀取減某一問數(shù)據(jù)萌后,事務2刪除筆了其刪中部紐奉分記絡錄,當事眉務1再次陽讀取易數(shù)據(jù)呢時,發(fā)現(xiàn)使某些械記錄旁神秘視地消稠失了不可胳重復少讀(她三)事務1讀取獎某一買數(shù)據(jù)亮后,事務2插入調(diào)了一栗些記盡錄,當事壯務1再次墾按相釣同條貸件讀辰取數(shù)捉據(jù)時杠,發(fā)現(xiàn)維多了鏡一些背記錄三、獲讀“勿臟”庭數(shù)據(jù)事務1修改逢某一購數(shù)據(jù)賓,并招將其訂寫回折磁盤希,事棚務2讀取該嗓修改張后的喊數(shù)據(jù)違后,播事務1由于撥某種馳原因泛被撤消,侮這時斗事務1已修蜻改過脖的數(shù)危據(jù)恢音復原廁值,袖事務2讀到經(jīng)的數(shù)瓶據(jù)就誕與數(shù)授據(jù)庫致中的奧數(shù)據(jù)森不一故致,常是不正確的旁數(shù)據(jù),又毅稱為“臟去”數(shù)桑據(jù)圖8.猛2c

讀C=200

①讀C=100C←C*2寫回C②

③ROLLBACKC恢復為100T2T18.戴2封業(yè)鎖事務T在對米某個矛數(shù)據(jù)鏟對象少操作球之前拋,先扭向系訴統(tǒng)發(fā)俱出請超求,幟對其地加鎖加鎖卡后事騰務T就對振該數(shù)免據(jù)對壘象有燦了一賽定的批控制堤,在描事務T釋放蘋它的膚鎖之駛前,脖其它迎的事貸務不渡能更奮新此皇數(shù)據(jù)詠對象基本總的封秀鎖類翅型排它駐鎖(eX愚cl灘us珍iv層elo暫ck蟲s,記為X鎖)共享渠鎖(Sh赤ar玻e害lo憤ck忠s,記為S鎖)排它貌鎖X鎖若事釣務T對數(shù)肅據(jù)對班象A加上X鎖,死則只允窮許T讀取醬和修改A,其它脆任何鳴事務感都不刺能再糞對A加任金何類羅型的鎖,故直到T釋放A上的希鎖只允弄許T讀取鄉(xiāng)豐和修沉改A共享班鎖S鎖若事嘴務T對數(shù)言據(jù)對遠象A加上S鎖,嚼則其鄙它事步務只霞能再對A加S鎖,糕而不扎能加X鎖,城直到T釋放A上的S鎖事務豈只能癥讀A圖8.脂3封鎖概類型譯的相石容矩除陣T1T2XS-XNNYSNYY-YYY8.暴3封鎖父協(xié)議何時顛申請X鎖或S鎖持鎖復時間何時然釋放1.一級穴封鎖頓協(xié)議事務T在修改數(shù)據(jù)R之前瘡必須菌先對走其加X鎖,直爭到事務卵結束才釋瓜放事務座結束疑:正直常結雪束(CO狗MM涉IT)和非你正常負結束(RO貼LL辨BA嚼CK)1級封肌鎖協(xié)舊議可凝防止丟失氣修改T1T2①

XlockA獲得②

讀A=16

③A←A-1寫回A=15CommitUnlockA④

XlockA等待等待等待等待獲得XlockA讀A=15A←A-1寫回A=14CommitUnlockA

防止豎丟失秋修改(圖8.臺4a留)1級封殃鎖協(xié)課議中蹈,讀柿數(shù)據(jù)鐵,不降需要評加鎖辭,所袖以它不能喉保證敗可重蘇復讀獻和不摸讀“很臟”蜓數(shù)據(jù)

讀A=15①

XlockA獲得②

讀A=16

A←A-1寫回A=15③

④RollbackUnlockA

T2T1讀臟嬸數(shù)據(jù)

XlockB獲得

讀B=100B←B*2寫回B=200CommitUnlockB①讀A=50讀B=100求和=150②③讀A=50讀B=200求和=250(驗算不對)

T2T1不可選重復音讀2.二級沿封鎖程協(xié)議1級封套鎖協(xié)扶議+事務T在讀取數(shù)據(jù)R前必旺須先踩加S鎖,讀完巧后即可考釋放S鎖2級封旱鎖協(xié)炭議可摧以防避止丟失粗修改和讀“細臟”鹿數(shù)據(jù)①

XlockC讀C=100C*2寫回C=200②③ROLLBACK(C恢復為100)UnlockC

SlockC等待等待等待等待等待獲得SlockC讀C=100UnlockCCommitT2T1不讀東臟數(shù)邊據(jù)(圖8.跌4c修)2級封思鎖協(xié)穴議中抹,由津于讀叮完數(shù)刻據(jù)后朽即可拜釋放S鎖,寨所以易它不唉能保殼證可重始復讀①

SlockA獲得讀A=50UnlockA②SlockB獲得讀B=100UnlockB③求和=150

XlockB等待等待獲得XlockB讀B=100B←B*2寫回B=200CommitUnlockBT2T1④SlockA獲得讀A=50UnlockASlockB獲得讀B=200UnlockB求和=250(驗算不對)

T2T1(續(xù))不可刻重復劍讀3.三級訓封鎖矛協(xié)議1級封救鎖協(xié)龍議+事務T在讀取數(shù)據(jù)R之前麗必須線先對余其加S鎖,直黃到事務籮結束才釋佳放3級封闊鎖協(xié)華議可柳防止丟失黨修改委、讀鵝臟數(shù)槽據(jù)和隱不可重重復殺讀T1T2①

SlockA讀A=50SlockB讀B=100求和=150②

③讀A=50讀B=100求和=150CommitUnlockAUnlockB④

XlockB等待等待等待等待等待等待等待等待獲得XlockB讀B=100B←B*2寫回B=200CommitUnlockB可重百復讀(圖8.稿4b菊)T1T2①XlockC讀C=100C←C*2寫回C=200②

③ROLLBACK(C恢復為100)UnlockC④

SlockC等待等待等待等待獲得SlockC讀C=100CommitCUnlockC不讀繡臟數(shù)擇據(jù)表8.梢1不同剃級別仰的封估鎖協(xié)怨議8.檢4活鎖贏和死膚鎖1.活鎖(圖8.傻5a差)先來殖先服萍務當多蔥個事煤務請切求封勺鎖同出一數(shù)林據(jù)對蠢象時,按請阻求封鎖的先后希次序?qū)@咽些事影務排岡隊,數(shù)據(jù)細對象禁上的鎖一扒旦釋邀放,菌首先登批準疊申請世隊列廟中第一俱個事躬務獲得鎖2.死鎖(圖8.扶5b畝)lo怨ckR1...lo便ck懲R2等待等待等待...lo葉ck耍R2..lo讓ckR1等待等待.T1名T22.飲1死鎖蠅的預學防產(chǎn)生腰死鎖填的原叼因是跪兩個允或多芬個事尾務都擴已封干鎖了蒙一些數(shù)微據(jù)對她象,稻然后叔又都鞭請求扇對已隸被其伸他事圖務封統(tǒng)鎖的數(shù)證據(jù)對韻象加草鎖,幕從而狐出現(xiàn)出死等宵待方法影一:乞一次漠封鎖躍法要求腥每個成事務捆必須一次將所習有要科使用肆的數(shù)牲據(jù)全部秘加鎖,否穴則就跑不能緞繼續(xù)啟執(zhí)行存在晴的問波題:只降低免并發(fā)什度一.把事借務要思用到膝的全榨部數(shù)提據(jù)加舞鎖,持擴大過了封屢鎖的巧范圍二.難以去確定明每個寄事務魚要封擠鎖的勇數(shù)據(jù)誘對象貼,只載有擴捎大封基鎖范副圍方法遺二:重順序泰封鎖復法預先交對數(shù)蘆據(jù)對橫象規(guī)謠定一菊個封叮鎖順磚序,授所有蜻事務權都按燭這個頑順序岔實行弓封鎖順序哈封鎖訓法存怕在的汁問題1.維護勒資源砌的封恨鎖順霞序成邁本太爐高2.事務鋼在執(zhí)佳行過苗程中明才能占確定尼封鎖錢某些妖對象衫時,蕉很難統(tǒng)按照釋順序乘去加潛鎖2.毒2死鎖貼的診繁斷——超時勿法如果園一個光事務塵的等朱待時礎間超時過了憤規(guī)定優(yōu)的時悉限,笨就認拐為發(fā)海生了緩死鎖優(yōu)點察:實撇現(xiàn)簡夜單缺點1.有可堅能誤述判死由鎖2.時限孕若設里置得買太長堅,死丈鎖發(fā)支生后拌不能優(yōu)及時漠發(fā)現(xiàn)2.劍2死鎖廢的診耀斷——等待精圖法事務帶等待石圖是儲一個示有向毯圖G=(T,U)T為結羨點的頂集合奇,每別個結豆點表踩示正匹運行我的事湯務U為邊骨的集求合,堂每條封邊表齡示事雹務等座待的栗情況若T1等待T2,則T1,T2之間眨劃一印條有仗向邊漢,從T1指向T2T1T2并發(fā)虜控制驕子系股統(tǒng)周但期性方地檢困測事羅務等尺待圖巨,如冤果發(fā)庭現(xiàn)圖坡中存紐奉在回施路,閉則表吩示系聰統(tǒng)中確出現(xiàn)版了死澆鎖2.照3解除樓死鎖選擇擱一個看處理旦死鎖群代價蝦最小襲的事柜務,杜將其遣撤消,緒釋放徑此事馳務持羞有的毀所有退的鎖閑,使由其它亦事務能艱繼續(xù)辮運行珍下去8.芒5可串靜行化車的調(diào)劑度可串吐行化鄉(xiāng)豐(Se袍ri暮al短iz強ab先le)的調(diào)燒度多個略事務青的并蘿發(fā)執(zhí)毛行是正確的,覆當且飛僅當委其結域果與按某一裕次序析串行地執(zhí)墾行它蛛們時篩的結葡果相宋同Ex旅am園pl撒e事務1:讀B;A=矛B+米1;寫回A;事務2:讀A;B=竄A+腔1;寫回B;假設A的初拿值為2,B的初維值為2串行符調(diào)度哄(一急)(圖8.演7a糕)Sl目oc拒kBY=新B=燙2Un屬lo銅ck投BXl傭oc胞kAA=偽Y+濱1寫回A(故=3液)Un豈lo椅ck洋ASl賭oc版kAX=旱A=摧3Un博lo溝ck樸AXl題oc雷kBB=崗X+繳1寫回B(兩=4講)Un夸lo斥ck嫁BT1T2串行干調(diào)度辦(二慘)(圖8.燃7b筐)Sl酬oc級kBY=喊B=雄3Un轟lo努ck劃BXl火oc防kAA=竹Y+禽1寫回A(滔=4貪)Un樸lo坐ck仙ASl娘oc娃kAX=損A=懸2Un彩lo斤ck扶AXl腥oc猾kBB=淡X+貿(mào)1寫回B(自=3棄)Un治lo慶ck尤BT1T2不可親串行瞇化的版調(diào)度(圖8.你7c密)Sl踐oc療kBY=怕B=離2Un請lo裹ck裙BXl貝oc耐kAA=蘭Y+這1寫回A(琴=3撥)Un釋lo名ck暴ASl屬oc腔kAX=答A=軍2Un自lo蹲ck纖AXl爭oc鉛kBB=禮X+拾1寫回B(青=3爛)Un米lo班ck更BT1T2執(zhí)行琴結果波與任卵何一鏈個串宵行調(diào)執(zhí)度的回結果粘都不睬同,毯是錯需誤的且調(diào)度可串

溫馨提示

  • 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

提交評論