版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用1數(shù)據(jù)庫(kù)保護(hù)事務(wù)的基本概念 并發(fā)控制數(shù)據(jù)庫(kù)備份與恢復(fù)2并發(fā)控制 并發(fā)控制概述 并發(fā)控制措施封鎖協(xié)議死鎖并發(fā)調(diào)度的可串行性兩段鎖協(xié)議 3并發(fā)控制概述數(shù)據(jù)庫(kù)中的數(shù)據(jù)是一個(gè)共享的資源,因此會(huì)有很多用戶同時(shí)使用數(shù)據(jù)庫(kù)中的數(shù)據(jù),在多用戶系統(tǒng)中,可能同時(shí)運(yùn)行著多個(gè)事務(wù),而事務(wù)的運(yùn)行需要時(shí)間,并且事務(wù)中的操作是在一定的數(shù)據(jù)上進(jìn)行的。當(dāng)系統(tǒng)中同時(shí)有多個(gè)事務(wù)在運(yùn)行時(shí),特別是當(dāng)這些事務(wù)是對(duì)同一段數(shù)據(jù)進(jìn)行操作時(shí),彼此之間就有可能產(chǎn)生相互干擾的情況。 4并發(fā)事務(wù)的相互干擾示例A、B兩個(gè)訂票點(diǎn)恰巧同時(shí)辦理同一架航班的飛機(jī)訂票業(yè)務(wù)。設(shè)其操作過(guò)程及順序如下: A訂票點(diǎn)(事務(wù)A)讀出航班目前的機(jī)票余額數(shù),假設(shè)
2、為10張;B訂票點(diǎn)(事務(wù)B)讀出航班目前的機(jī)票余額數(shù),也為為10張;A訂票點(diǎn)訂出6張機(jī)票,修改機(jī)票余額為106 4,并將4寫回到數(shù)據(jù)庫(kù)中;B訂票點(diǎn)訂出5張機(jī)票,修改機(jī)票余額為105 5,并將5寫回到數(shù)據(jù)庫(kù)中;5丟失數(shù)據(jù)修改 6讀“臟”數(shù)據(jù) 7不可重復(fù)讀 8產(chǎn)生“幽靈”數(shù)據(jù) 屬于不可重復(fù)讀的范疇。指當(dāng)事務(wù)T1按一定條件從數(shù)據(jù)庫(kù)中讀取了某些數(shù)據(jù)記錄后,事務(wù)T2刪除了其中的部分記錄,或者在其中添加了部分記錄,則當(dāng)T1再次按相同條件讀取數(shù)據(jù)時(shí),發(fā)現(xiàn)其中莫名其妙地少了(對(duì)刪除)或多了(對(duì)插入)一些記錄。這樣的數(shù)據(jù)對(duì)T1來(lái)說(shuō)就是“幽靈”數(shù)據(jù)或稱“幻影”數(shù)據(jù)。 9并發(fā)控制措施控制目標(biāo):事務(wù)運(yùn)行過(guò)程中盡可能隔
3、離事務(wù)外操作對(duì)本事務(wù)數(shù)據(jù)環(huán)境的影響。在數(shù)據(jù)庫(kù)環(huán)境下,并發(fā)控制的主要方式是封鎖機(jī)制,即加鎖(Locking),加鎖是一種并行控制技術(shù),是用來(lái)調(diào)整對(duì)共享目標(biāo),如DB中共享的記錄并行存取的技術(shù)。10基本的封鎖類型共享鎖:指對(duì)于讀操作(檢索)來(lái)說(shuō),可以多個(gè)事務(wù)同時(shí)獲得共享鎖,但阻止其它事務(wù)對(duì)已獲得共享鎖的數(shù)據(jù)進(jìn)行排它封鎖。 排它鎖:一旦一事務(wù)獲得了對(duì)某一數(shù)據(jù)的排它鎖,則任何其它事務(wù)再不能對(duì)該數(shù)據(jù)進(jìn)行排它封鎖,其它事務(wù)只能進(jìn)入等待狀態(tài),直到第一個(gè)事務(wù)撤銷了對(duì)該數(shù)據(jù)的封鎖。11排它鎖和共享鎖的控制方式 T2T1XS無(wú)鎖XNo NoYesSNoYesYes-YesYesYes12封鎖協(xié)議 在運(yùn)用X鎖和S鎖對(duì)
4、數(shù)據(jù)對(duì)象進(jìn)行加鎖時(shí),還需要約定一些規(guī)則,如何時(shí)申請(qǐng)X鎖或S鎖、持鎖時(shí)間、何時(shí)釋放鎖等。稱這些規(guī)則為封鎖協(xié)議或加鎖協(xié)議(Locking Protocol)。對(duì)封鎖方式規(guī)定不同的規(guī)則,就形成了各種不同級(jí)別的封鎖協(xié)議。不同級(jí)別的封鎖協(xié)議達(dá)到的系統(tǒng)一致性級(jí)別不同。13一級(jí)封鎖協(xié)議 對(duì)事務(wù)T要修改的數(shù)據(jù)加X(jué)鎖,直到事務(wù)結(jié)束(包括正常結(jié)束和非正常結(jié)束)時(shí)才釋放。一級(jí)封鎖協(xié)議可以防止丟失修改,并保證事務(wù)T是可恢復(fù)的 但不能保證可重復(fù)讀和不讀“臟”數(shù)據(jù)。14一級(jí)封鎖協(xié)議示例15二級(jí)封鎖協(xié)議一級(jí)封鎖協(xié)議加上對(duì)事務(wù)T對(duì)要讀取的數(shù)據(jù)加S鎖,讀完后即釋放S鎖。除了可以防止丟失修改外,還可以防止讀“臟”數(shù)據(jù)。但不能保證
5、可重復(fù)讀數(shù)據(jù)。 16二級(jí)封鎖協(xié)議示例17三級(jí)封鎖協(xié)議一級(jí)封鎖協(xié)議加上事務(wù)T對(duì)要讀取的數(shù)據(jù)加S鎖,并直到事務(wù)結(jié)束才釋放。除了可以防止丟失修改和不讀“臟”數(shù)據(jù)之外,還進(jìn)一步防止了不可重復(fù)讀。 18三級(jí)封鎖協(xié)議示例19不同級(jí)別的封鎖協(xié)議總結(jié) 20死鎖 兩個(gè)事務(wù)相互等待對(duì)方先釋放資源,則會(huì)造成死鎖。21預(yù)防死鎖的方法一次封鎖法一次封鎖法是每個(gè)事務(wù)一次將所有要使用的數(shù)據(jù)全部加鎖。順序封鎖法順序封鎖法是預(yù)先對(duì)數(shù)據(jù)對(duì)象規(guī)定一個(gè)封鎖順序,所有事務(wù)都按這個(gè)順序封鎖。 22并發(fā)調(diào)度的可串行性 多個(gè)事務(wù)的并發(fā)執(zhí)行是正確的,當(dāng)且僅當(dāng)其結(jié)果與按某一順序的串行執(zhí)行的結(jié)果相同,則我們稱這種調(diào)度為可串行化的調(diào)度。可串行性是并
6、發(fā)事務(wù)正確性的準(zhǔn)則,按這個(gè)準(zhǔn)則,一個(gè)給定的并發(fā)調(diào)度,當(dāng)且僅當(dāng)它是可串行化的時(shí),才認(rèn)為是正確的調(diào)度。 23兩段鎖協(xié)議 兩段鎖協(xié)議是實(shí)現(xiàn)可串行化調(diào)度的充分條件。可以將每個(gè)事務(wù)分成兩個(gè)時(shí)期:申請(qǐng)封鎖期和釋放封鎖期,申請(qǐng)期申請(qǐng)要進(jìn)行的封鎖,釋放期釋放所占有的封鎖。在申請(qǐng)期不允許釋放任何鎖,在釋放期不允許申請(qǐng)任何鎖,這就是兩段式封鎖。24數(shù)據(jù)庫(kù)備份與恢復(fù) 數(shù)據(jù)庫(kù)故障的種類 數(shù)據(jù)庫(kù)備份 數(shù)據(jù)庫(kù)恢復(fù) 25數(shù)據(jù)庫(kù)故障的種類事務(wù)內(nèi)部的故障 事務(wù)故障意味著事務(wù)沒(méi)有達(dá)到預(yù)期的終點(diǎn)(COMMIT或ROLLBACK),因此,數(shù)據(jù)庫(kù)可能處于不正確的狀態(tài)。 系統(tǒng)故障 指造成系統(tǒng)停止運(yùn)轉(zhuǎn)、系統(tǒng)要重啟的故障。例如,硬件錯(cuò)誤(C
7、PU故障)、操作系統(tǒng)故障、突然停電等。 其它故障介質(zhì)故障或由計(jì)算機(jī)病毒引起的故障或破壞。 26數(shù)據(jù)庫(kù)備份 指定期或不定期地對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)進(jìn)行復(fù)制??梢詮?fù)制到本地機(jī)器上,也可以復(fù)制到其它機(jī)器上。備份的介質(zhì)可以是磁帶也可以是磁盤,但通常選用磁帶。是保證系統(tǒng)安全的一項(xiàng)重要措施。在制定備份策略時(shí),應(yīng)考慮如下幾個(gè)方面:備份的內(nèi)容 備份頻率 27數(shù)據(jù)庫(kù)恢復(fù) 1恢復(fù)策略事務(wù)故障的恢復(fù) 系統(tǒng)故障的恢復(fù) 介質(zhì)故障的恢復(fù) 2恢復(fù)方法利用備份技術(shù)利用事務(wù)日志利用鏡像技術(shù) 28基于SQL SERVER 2008備份與恢復(fù)數(shù)據(jù)庫(kù)備份計(jì)劃備份內(nèi)容備份類型完整備份事務(wù)日志備份差異備份備份組件備份頻率備份存儲(chǔ)介質(zhì)數(shù)據(jù)庫(kù)恢復(fù)29
8、故障還原模型1簡(jiǎn)單恢復(fù)模型2完整恢復(fù)模型3大容量日志恢復(fù)模型30基于SQL SERVER 2008備份與恢復(fù)備份和恢復(fù)的流程創(chuàng)建備份設(shè)備進(jìn)行數(shù)據(jù)庫(kù)的完整備份、差異備份、日志備份、文件和文件組備份恢復(fù)數(shù)據(jù)庫(kù)31備份設(shè)備1建立備份設(shè)備1)格式sp_addumpdevice 備份設(shè)備類型, 備份設(shè)備邏輯名,備份設(shè)備物理名稱2)功能 可以使用儲(chǔ)過(guò)程sp_addumpdevice添加備份設(shè)備。3)例: exec sp_addumpdevice disk, backdisk,i:tempback.bak4)方法二:使用Management Studio32備份設(shè)備2查看備份設(shè)備的屬性方法一:使用Manag
9、ement Studio方法二:使用SQL命令 sp_helpdevice33備份設(shè)備3刪除備份設(shè)備1)格式sp_dropdevice設(shè)備的邏輯名,delfile2)功能從SQL Server除去數(shù)據(jù)庫(kù)設(shè)備或備份設(shè)備。如果將物理備份設(shè)備文件指定為 DELFILE,將會(huì)刪除物理備份設(shè)備文件,否則只刪除邏輯設(shè)備名。返回0,表示成功刪除,返回1表示刪除失敗。不能在事務(wù)內(nèi)部使用 sp_dropdevice。34備份數(shù)據(jù)庫(kù)1.備份數(shù)據(jù)庫(kù)1)格式BACKUP DATABASE 數(shù)據(jù)庫(kù)名 ,.n TO ,.n WITH , DIFFERENTIAL , EXPIREDATE = 日期 | RETAINDAY
10、S =天數(shù) , INIT | NOINIT , NAME = 備份集名稱 , RESTART , STATS = percentage 35備份數(shù)據(jù)庫(kù)2)功能 將指定數(shù)據(jù)庫(kù)備份到指定備份設(shè)備。備份設(shè)備可以是邏輯備份設(shè)備名或物理備份設(shè)備名。 3)例 BACKUP DATABASE stuinfo TO backup36備份數(shù)據(jù)庫(kù)2備份事務(wù)日志1)格式BACKUP LOG 數(shù)據(jù)庫(kù)名 TO ,.n WITH , EXPIREDATE = 日期 | RETAINDAYS = 天數(shù) , INIT | NOINIT , NAME = 備份集名稱 , NO_TRUNCATE , NORECOVERY | S
11、TANDBY = standby_ , RESTART , STATS = percentage 37備份數(shù)據(jù)庫(kù)2備份事務(wù)日志2)功能對(duì)數(shù)據(jù)庫(kù)的事務(wù)進(jìn)行備份,該日志是從上次成功執(zhí)行 LOG 備份到當(dāng)前日志的末尾。它僅對(duì)數(shù)據(jù)庫(kù)事務(wù)日志進(jìn)行備份,所以其需要的磁盤空間和備份時(shí)間都比數(shù)據(jù)庫(kù)備份少得多。38截?cái)嗍聞?wù)日志1)格式BACKUP LOG 數(shù)據(jù)庫(kù)名 WITH NO_LOG2)功能如果從來(lái)沒(méi)有從事務(wù)日志刪除日志記錄,邏輯日志就會(huì)一直增長(zhǎng),直到填滿容納物理日志文件的磁盤上的所有可用空間。在某個(gè)即時(shí)點(diǎn),必須刪除恢復(fù)或還原數(shù)據(jù)庫(kù)時(shí)不再需要的舊日志記錄,以便為新日志記錄騰出空間。刪除這些日志記錄以減小邏輯
12、日志的大小的過(guò)程稱為截?cái)嗳罩尽?9截?cái)嗍聞?wù)日志例截?cái)唷皊tudent”事務(wù)日志, 收縮事務(wù)日志為1MB。BACKUP LOG student WITH NO_LOGUSE studentDBCC SHRINKFILE (student_log,1)40數(shù)據(jù)庫(kù)還原1還原數(shù)據(jù)庫(kù)RESTORE DATABASE 數(shù)據(jù)庫(kù)名 FROM ,.n WITH PARTIAL FILE = 備份文件號(hào) , MOVE 邏輯文件名 TO 操作系統(tǒng)文件名 ,.n , RECOVERY|NORECOVERY|STANDBY=撤消文件名 , STATS = percentage , REPLACE 41數(shù)據(jù)庫(kù)還原例將ba
13、ckup.bak備份文件中的備份號(hào)為1的完整備份恢復(fù)到數(shù)據(jù)庫(kù)student中。方法一:使用SQL命令RESTORE DATABASE student FROM DISK =c:dumpbackup.bak WITH FILE = 1方法二:使用Management Studio恢復(fù)數(shù)據(jù)庫(kù)42數(shù)據(jù)庫(kù)還原2事務(wù)日志還原RESTORE LOG 數(shù)據(jù)庫(kù)名 FROM ,.n WITH , FILE = 備份文件號(hào) , MOVE 邏輯文件名 TO 操作系統(tǒng)文件名 ,.n , RECOVERY | NORECOVERY | STANDBY = standby_ , STATS = percentage ,
14、STOPAT = 日期時(shí)間 | , STOPATMARK = 標(biāo)記名 AFTER datetime | , STOPBEFOREMARK = 標(biāo)記名 AFTER datetime , REPLACE 43數(shù)據(jù)庫(kù)還原例在備份過(guò)程中,可以產(chǎn)生備份序列。假設(shè)有下列事件序列。(1)創(chuàng)建備份設(shè)備studenttest。物理文件名稱為c: dumpstudenttest.bak。(2) 完整備份“student”數(shù)據(jù)庫(kù)到設(shè)備studenttest。(3) 向某個(gè)表中插入一條記錄(4)備份數(shù)據(jù)庫(kù)事務(wù)日志到設(shè)備studenttest。(5)利用第2步所得的完整備份,恢復(fù)到插入記錄前的狀態(tài)。(6)利用第4步所得的事務(wù)日志,恢復(fù)到插入記錄后的狀態(tài)。44分離和附加數(shù)據(jù)庫(kù)分離數(shù)據(jù)庫(kù)分離數(shù)據(jù)庫(kù)是指將數(shù)據(jù)庫(kù)從 SQL Server 實(shí)例中刪除,但使數(shù)據(jù)庫(kù)在其數(shù)據(jù)文件和事務(wù)日志文件中保持不變。之后,就可以使用這些文件將數(shù)據(jù)庫(kù)附加到任何 SQL Server 實(shí)例,包括分離該數(shù)據(jù)庫(kù)的服務(wù)器。例從SQL Server 實(shí)例分離數(shù)據(jù)庫(kù)student。方法一:使用Management Studio圖形工具方法二:使用SQL命令sp_det
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 證券公司圍護(hù)樁施工合同
- 道路施工隊(duì)合作協(xié)議
- 農(nóng)村房屋拆遷補(bǔ)償合同
- 劇院排水設(shè)施安裝合同
- 培訓(xùn)零售環(huán)境防疫措施
- 醫(yī)療器械招投標(biāo)規(guī)范解讀
- 無(wú)抵押企業(yè)借款合同
- 通信設(shè)備質(zhì)量管理辦法
- 商業(yè)綜合體二手房交易合同范文
- 制造執(zhí)行系統(tǒng)操作與應(yīng)用課件 3-4-2典型離散制造工藝
- 某幼兒園食品貯存管理制度培訓(xùn)
- 河南省南陽(yáng)市2022-2023學(xué)年高一上學(xué)期期末語(yǔ)文試題
- 現(xiàn)代物流管理專業(yè)生涯發(fā)展展示
- 柱塞泵工作原理動(dòng)畫演示
- 幼兒園開(kāi)展“一對(duì)一傾聽(tīng)”的實(shí)踐與反思
- 空中乘務(wù)生涯發(fā)展
- 鹽田采鹽生產(chǎn)示范
- 科室院感自查報(bào)告
- 2024年中央國(guó)債登記結(jié)算有限責(zé)任公司招聘筆試參考題庫(kù)含答案解析
- 客情關(guān)系維護(hù)技巧課件
- 《小學(xué)急救知識(shí)培訓(xùn)》課件
評(píng)論
0/150
提交評(píng)論