![《Oracle數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)及實(shí)踐》課件08-第8章 事務(wù)管理與并發(fā)控制_第1頁(yè)](http://file4.renrendoc.com/view7/M00/06/25/wKhkGWbYTACAOSOlAADc2_2Fw9c011.jpg)
![《Oracle數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)及實(shí)踐》課件08-第8章 事務(wù)管理與并發(fā)控制_第2頁(yè)](http://file4.renrendoc.com/view7/M00/06/25/wKhkGWbYTACAOSOlAADc2_2Fw9c0112.jpg)
![《Oracle數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)及實(shí)踐》課件08-第8章 事務(wù)管理與并發(fā)控制_第3頁(yè)](http://file4.renrendoc.com/view7/M00/06/25/wKhkGWbYTACAOSOlAADc2_2Fw9c0113.jpg)
![《Oracle數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)及實(shí)踐》課件08-第8章 事務(wù)管理與并發(fā)控制_第4頁(yè)](http://file4.renrendoc.com/view7/M00/06/25/wKhkGWbYTACAOSOlAADc2_2Fw9c0114.jpg)
![《Oracle數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)及實(shí)踐》課件08-第8章 事務(wù)管理與并發(fā)控制_第5頁(yè)](http://file4.renrendoc.com/view7/M00/06/25/wKhkGWbYTACAOSOlAADc2_2Fw9c0115.jpg)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
-1-本章目標(biāo)理解事務(wù)的概念熟悉事務(wù)的特性及應(yīng)用范圍掌握事務(wù)控制的基本語(yǔ)句及功能
掌握Oracle中事務(wù)的實(shí)現(xiàn)及應(yīng)用了解并發(fā)訪問(wèn)帶來(lái)的問(wèn)題理解鎖、鎖定和鎖定協(xié)議的相關(guān)概念理解活鎖與死鎖的概念理解鎖的粒度掌握Oracle中的鎖的分類及特點(diǎn)掌握通過(guò)SQL*Plus檢測(cè)與解決鎖爭(zhēng)用-2-事務(wù)(transaction)是訪問(wèn)并可能操作各種數(shù)據(jù)項(xiàng)的一個(gè)數(shù)據(jù)庫(kù)操作序列,這些操作要么全部執(zhí)行,要么全部不執(zhí)行,是一個(gè)不可分割的工作單位。事務(wù)性質(zhì):原子性、一致性、隔離性、持久性
數(shù)據(jù)訪問(wèn):read(X)、write(X)事務(wù)的概念-3-活動(dòng)狀態(tài)(active):事務(wù)在執(zhí)行時(shí)的狀態(tài);部分提交狀態(tài)(partiallycommitted):事務(wù)中最后一條語(yǔ)句執(zhí)行后的狀態(tài);失敗狀態(tài)(failed):事務(wù)不能正常執(zhí)行時(shí)的狀態(tài);中止?fàn)顟B(tài)(aborted):事務(wù)回滾并且數(shù)據(jù)庫(kù)已恢復(fù)到事務(wù)開(kāi)始執(zhí)行前的狀態(tài);提交狀態(tài)(committed):事務(wù)成功完成后的狀態(tài)。事務(wù)的狀態(tài)-4-特性:ACID
一致性原子性持久性隔離性事務(wù)的特性與應(yīng)用-5-搭建事務(wù)演示環(huán)境:事務(wù)的開(kāi)始與結(jié)束:不需要使用專門的語(yǔ)句來(lái)顯式的表示事務(wù)的開(kāi)始事務(wù)的提交:使用COMMIT語(yǔ)句來(lái)顯式提交事務(wù)事務(wù)的回滾與保存點(diǎn):ROLLBACK/SAVEPOINT事務(wù)控制-6-并發(fā)問(wèn)題:更新丟失(lostupdate)臟讀(dirtyread)不可重復(fù)讀(non-repeatableread)幻讀(phantomread)隔離級(jí)別序列化級(jí)別(serializable)可重復(fù)讀(repeatableread)讀已提交(readcommitted)讀未提交(readuncommitted)事務(wù)隔離級(jí)別-7-獨(dú)占鎖(eXclusivelock,即X鎖)獨(dú)占鎖是對(duì)鎖定的資源只允許進(jìn)行鎖定操作的事務(wù)使用的,獨(dú)占鎖又稱為寫鎖共享鎖(Sharelock,即S鎖)共享鎖是指對(duì)不更改或不更新數(shù)據(jù)的讀取操作的事務(wù)使用的,共享鎖又稱為“讀鎖”,它是非獨(dú)占的,允許多個(gè)并發(fā)事務(wù)讀取其鎖定的數(shù)據(jù)庫(kù)對(duì)象。鎖與鎖定對(duì)已加鎖進(jìn)行鎖操作NL共享鎖獨(dú)占鎖共享鎖可以可以不可以獨(dú)占鎖可以不可以不可以-8-一級(jí)鎖定協(xié)議:一級(jí)鎖定協(xié)議可以防止丟失修改,并保證事務(wù)是可恢復(fù)的二級(jí)鎖定協(xié)議:二級(jí)鎖定協(xié)議可以進(jìn)一步防止臟讀的問(wèn)題三級(jí)鎖定協(xié)議:三級(jí)鎖定協(xié)議可以進(jìn)一步防止不可重復(fù)讀的問(wèn)題鎖定協(xié)議申請(qǐng)的鎖及其作用鎖定協(xié)議修改時(shí)申請(qǐng)獨(dú)占鎖讀取時(shí)申請(qǐng)共享鎖作用操作結(jié)束釋放事務(wù)結(jié)束釋放操作結(jié)束釋放事務(wù)結(jié)束釋放不丟失修改不臟讀可重復(fù)讀一級(jí)鎖定協(xié)議是是二級(jí)鎖定協(xié)議是是是是三級(jí)鎖定協(xié)議是是是是是-9-活鎖:多個(gè)事務(wù)并發(fā)執(zhí)行的過(guò)程中,可能會(huì)存在某個(gè)有機(jī)會(huì)獲得鎖的事務(wù)卻永遠(yuǎn)也沒(méi)有得到鎖,這種現(xiàn)象稱為活鎖。死鎖:多個(gè)并發(fā)事務(wù)處于相互等待的狀態(tài),其中的每一個(gè)事務(wù)都在等待它們中的另一個(gè)事務(wù)解除鎖定。
預(yù)防:一次鎖定法:要求每個(gè)事務(wù)必須一次將所有要使用的數(shù)據(jù)庫(kù)對(duì)象全部鎖定順序鎖定法:要求預(yù)先對(duì)數(shù)據(jù)庫(kù)對(duì)象規(guī)定一個(gè)鎖定的順序,所有事務(wù)都按這個(gè)順序來(lái)實(shí)行鎖定活鎖與死鎖-10-超時(shí)法:如果一個(gè)事務(wù)的等待時(shí)間超過(guò)了規(guī)定的時(shí)限,就認(rèn)為發(fā)生了死鎖。
不足:有可能誤判死鎖時(shí)限若設(shè)置的太長(zhǎng),死鎖發(fā)生后不能及時(shí)發(fā)現(xiàn)等待圖法:是用離散數(shù)學(xué)的圖論來(lái)診斷死鎖,事務(wù)等待圖動(dòng)態(tài)地反映了當(dāng)前的各個(gè)事務(wù)之間的等待情況診斷與解除死鎖-11-粒度劃分:從高到低依次劃分為數(shù)據(jù)庫(kù)、表、記錄、列鎖的粒度與系統(tǒng)的并發(fā)度和并發(fā)控制的開(kāi)銷密切相關(guān)。事務(wù)到底使用哪種級(jí)別上的鎖定,應(yīng)當(dāng)根據(jù)事務(wù)要處理的數(shù)據(jù)量來(lái)決定。多粒度鎖定:商業(yè)化的數(shù)據(jù)庫(kù)管理系統(tǒng)鎖的粒度-12-DDL鎖:防止在用DML語(yǔ)句操作數(shù)據(jù)庫(kù)表時(shí),對(duì)表進(jìn)行刪除或?qū)Ρ淼慕Y(jié)構(gòu)進(jìn)行更改排它DDL鎖:創(chuàng)建、修改、刪除一個(gè)數(shù)據(jù)庫(kù)對(duì)象的DDL語(yǔ)句獲得操作對(duì)象的排它鎖共享DDL鎖:需在數(shù)據(jù)庫(kù)對(duì)象之間建立相互依賴關(guān)系的DDL語(yǔ)句通常需共享獲得DDL鎖分析鎖:一種獨(dú)特的DDL鎖類型,Oracle使用它追蹤共享池對(duì)象及它所引用數(shù)據(jù)庫(kù)對(duì)象之間的依賴關(guān)系。DML鎖:防止多個(gè)事務(wù)并發(fā)訪問(wèn)數(shù)據(jù)時(shí)對(duì)數(shù)據(jù)一致性和完整性破壞行鎖表級(jí)鎖
Oracle中鎖的分類-13-數(shù)據(jù)庫(kù)級(jí)別的鎖
將數(shù)據(jù)庫(kù)設(shè)置成受限方式將數(shù)據(jù)庫(kù)更改成只讀方式表級(jí)別的鎖
用于還沒(méi)提交或回退事務(wù)之前,防止其他用戶對(duì)表的結(jié)構(gòu)進(jìn)行更改行級(jí)別的鎖行級(jí)別的鎖是Oracle中支持的最低級(jí)別的鎖,而且行級(jí)鎖只有獨(dú)占鎖定模式,沒(méi)有共享鎖定模式Oracle中鎖的級(jí)別-14-通過(guò)SQLDeveloper檢測(cè)與解決鎖爭(zhēng)用
在被殺死的會(huì)話中無(wú)論是使用commit語(yǔ)句還是rollback語(yǔ)句,都會(huì)出現(xiàn)“ORA-00028:您的會(huì)話己被終止”的提示,并且需要重新登錄才能操作數(shù)據(jù)庫(kù)。通過(guò)OEM檢測(cè)與解決鎖爭(zhēng)用
輸入https://localhost:1158/em就會(huì)進(jìn)入登錄界面首先以SYS用戶并以SYSDBA身份登錄OEM,進(jìn)入“主目錄”頁(yè)面,在該頁(yè)面中單擊“性能”超鏈接,進(jìn)入“性能”屬性頁(yè)面。然后單擊“性能”屬性頁(yè)面中“其他監(jiān)視鏈接”標(biāo)題下的“實(shí)例鎖”超連接,將進(jìn)入“實(shí)例鎖”頁(yè)面Oracle中的鎖爭(zhēng)用的檢測(cè)與解決-15-事務(wù)是用戶定義的數(shù)據(jù)庫(kù)操作序列事務(wù)的基本操作包括事務(wù)開(kāi)始、事務(wù)讀寫、事務(wù)結(jié)束和事務(wù)提交事務(wù)特性包括原子性、一致性、隔離性和持久性,簡(jiǎn)稱ACID事務(wù)開(kāi)始前可以通過(guò)語(yǔ)句設(shè)置當(dāng)前事務(wù)的執(zhí)行屬性,如:是否可讀、是否可寫、隔離級(jí)別等并發(fā)的事務(wù)之間可能會(huì)發(fā)生訪問(wèn)沖突,這就需要一個(gè)能自動(dòng)解決事務(wù)對(duì)數(shù)據(jù)的并發(fā)訪問(wèn)所帶來(lái)的問(wèn)題的機(jī)制,這種機(jī)制就是并發(fā)控制鎖技術(shù)可以有效的解決并行操作的一致性問(wèn)題不同的數(shù)據(jù)庫(kù)管理系統(tǒng)提供的鎖實(shí)現(xiàn)不盡相同,但是基本原理和技術(shù)是相同的小結(jié)-1-16-鎖有兩種最基本的類型:獨(dú)占鎖和共享鎖鎖定的粒度與系統(tǒng)的并發(fā)度和并發(fā)控制的開(kāi)銷密切相關(guān)。一般來(lái)講,鎖定的粒度越大,需要鎖定的對(duì)象就越少,可選擇性就越小,并發(fā)度就越小,開(kāi)銷就越?。环粗?,鎖定的粒度越小,需要鎖定的對(duì)象就越多,可選擇性就越大,并發(fā)度就越大,開(kāi)銷就越大在多個(gè)事務(wù)并發(fā)執(zhí)行的過(guò)程中可能出現(xiàn)死鎖,可以使用一次鎖定法或順序鎖定法預(yù)防死鎖,使用超時(shí)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度新能源電池制造企業(yè)股權(quán)轉(zhuǎn)讓協(xié)議
- 2025年中國(guó)度洛西汀行業(yè)市場(chǎng)運(yùn)營(yíng)現(xiàn)狀及投資研究建議報(bào)告
- 2025年度新材料研發(fā)股權(quán)轉(zhuǎn)讓補(bǔ)償協(xié)議示范文本
- 2025年度旅游產(chǎn)業(yè)項(xiàng)目借款協(xié)議
- 2024-2029全球及中國(guó)離岸直升機(jī)行業(yè)市場(chǎng)調(diào)研及投資前景分析報(bào)告
- 班主任讓寫退學(xué)申請(qǐng)書
- 2025年清水水泵行業(yè)深度研究分析報(bào)告
- 2025年醒久寶項(xiàng)目投資可行性研究分析報(bào)告
- 加入志愿者申請(qǐng)書
- 中國(guó)敵草快行業(yè)市場(chǎng)需求預(yù)測(cè)與投資戰(zhàn)略規(guī)劃分析報(bào)告
- 項(xiàng)目獎(jiǎng)金分配獎(jiǎng)勵(lì)制度和方案完整版
- 上海中學(xué)國(guó)際部幼升小面試真題
- 贏在團(tuán)隊(duì)執(zhí)行力課件
- 慢性胰腺炎課件
- 北京理工大學(xué)應(yīng)用光學(xué)課件第四章
- 陰道鏡幻燈課件
- PCB行業(yè)安全生產(chǎn)常見(jiàn)隱患及防范措施課件
- DB32∕T 186-2015 建筑消防設(shè)施檢測(cè)技術(shù)規(guī)程
- 2022年福建泉州中考英語(yǔ)真題【含答案】
- 汽車座椅骨架的焊接夾具畢業(yè)設(shè)計(jì)說(shuō)明書(共23頁(yè))
- 露天礦山職業(yè)危害預(yù)先危險(xiǎn)分析表
評(píng)論
0/150
提交評(píng)論