




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
-1-本章目標(biāo)理解事務(wù)的概念熟悉事務(wù)的特性及應(yīng)用范圍掌握事務(wù)控制的基本語句及功能
掌握Oracle中事務(wù)的實(shí)現(xiàn)及應(yīng)用了解并發(fā)訪問帶來的問題理解鎖、鎖定和鎖定協(xié)議的相關(guān)概念理解活鎖與死鎖的概念理解鎖的粒度掌握Oracle中的鎖的分類及特點(diǎn)掌握通過SQL*Plus檢測與解決鎖爭用-2-事務(wù)(transaction)是訪問并可能操作各種數(shù)據(jù)項(xiàng)的一個(gè)數(shù)據(jù)庫操作序列,這些操作要么全部執(zhí)行,要么全部不執(zhí)行,是一個(gè)不可分割的工作單位。事務(wù)性質(zhì):原子性、一致性、隔離性、持久性
數(shù)據(jù)訪問:read(X)、write(X)事務(wù)的概念-3-活動(dòng)狀態(tài)(active):事務(wù)在執(zhí)行時(shí)的狀態(tài);部分提交狀態(tài)(partiallycommitted):事務(wù)中最后一條語句執(zhí)行后的狀態(tài);失敗狀態(tài)(failed):事務(wù)不能正常執(zhí)行時(shí)的狀態(tài);中止?fàn)顟B(tài)(aborted):事務(wù)回滾并且數(shù)據(jù)庫已恢復(fù)到事務(wù)開始執(zhí)行前的狀態(tài);提交狀態(tài)(committed):事務(wù)成功完成后的狀態(tài)。事務(wù)的狀態(tài)-4-特性:ACID
一致性原子性持久性隔離性事務(wù)的特性與應(yīng)用-5-搭建事務(wù)演示環(huán)境:事務(wù)的開始與結(jié)束:不需要使用專門的語句來顯式的表示事務(wù)的開始事務(wù)的提交:使用COMMIT語句來顯式提交事務(wù)事務(wù)的回滾與保存點(diǎn):ROLLBACK/SAVEPOINT事務(wù)控制-6-并發(fā)問題:更新丟失(lostupdate)臟讀(dirtyread)不可重復(fù)讀(non-repeatableread)幻讀(phantomread)隔離級別序列化級別(serializable)可重復(fù)讀(repeatableread)讀已提交(readcommitted)讀未提交(readuncommitted)事務(wù)隔離級別-7-獨(dú)占鎖(eXclusivelock,即X鎖)獨(dú)占鎖是對鎖定的資源只允許進(jìn)行鎖定操作的事務(wù)使用的,獨(dú)占鎖又稱為寫鎖共享鎖(Sharelock,即S鎖)共享鎖是指對不更改或不更新數(shù)據(jù)的讀取操作的事務(wù)使用的,共享鎖又稱為“讀鎖”,它是非獨(dú)占的,允許多個(gè)并發(fā)事務(wù)讀取其鎖定的數(shù)據(jù)庫對象。鎖與鎖定對已加鎖進(jìn)行鎖操作NL共享鎖獨(dú)占鎖共享鎖可以可以不可以獨(dú)占鎖可以不可以不可以-8-一級鎖定協(xié)議:一級鎖定協(xié)議可以防止丟失修改,并保證事務(wù)是可恢復(fù)的二級鎖定協(xié)議:二級鎖定協(xié)議可以進(jìn)一步防止臟讀的問題三級鎖定協(xié)議:三級鎖定協(xié)議可以進(jìn)一步防止不可重復(fù)讀的問題鎖定協(xié)議申請的鎖及其作用鎖定協(xié)議修改時(shí)申請獨(dú)占鎖讀取時(shí)申請共享鎖作用操作結(jié)束釋放事務(wù)結(jié)束釋放操作結(jié)束釋放事務(wù)結(jié)束釋放不丟失修改不臟讀可重復(fù)讀一級鎖定協(xié)議是是二級鎖定協(xié)議是是是是三級鎖定協(xié)議是是是是是-9-活鎖:多個(gè)事務(wù)并發(fā)執(zhí)行的過程中,可能會(huì)存在某個(gè)有機(jī)會(huì)獲得鎖的事務(wù)卻永遠(yuǎn)也沒有得到鎖,這種現(xiàn)象稱為活鎖。死鎖:多個(gè)并發(fā)事務(wù)處于相互等待的狀態(tài),其中的每一個(gè)事務(wù)都在等待它們中的另一個(gè)事務(wù)解除鎖定。
預(yù)防:一次鎖定法:要求每個(gè)事務(wù)必須一次將所有要使用的數(shù)據(jù)庫對象全部鎖定順序鎖定法:要求預(yù)先對數(shù)據(jù)庫對象規(guī)定一個(gè)鎖定的順序,所有事務(wù)都按這個(gè)順序來實(shí)行鎖定活鎖與死鎖-10-超時(shí)法:如果一個(gè)事務(wù)的等待時(shí)間超過了規(guī)定的時(shí)限,就認(rèn)為發(fā)生了死鎖。
不足:有可能誤判死鎖時(shí)限若設(shè)置的太長,死鎖發(fā)生后不能及時(shí)發(fā)現(xiàn)等待圖法:是用離散數(shù)學(xué)的圖論來診斷死鎖,事務(wù)等待圖動(dòng)態(tài)地反映了當(dāng)前的各個(gè)事務(wù)之間的等待情況診斷與解除死鎖-11-粒度劃分:從高到低依次劃分為數(shù)據(jù)庫、表、記錄、列鎖的粒度與系統(tǒng)的并發(fā)度和并發(fā)控制的開銷密切相關(guān)。事務(wù)到底使用哪種級別上的鎖定,應(yīng)當(dāng)根據(jù)事務(wù)要處理的數(shù)據(jù)量來決定。多粒度鎖定:商業(yè)化的數(shù)據(jù)庫管理系統(tǒng)鎖的粒度-12-DDL鎖:防止在用DML語句操作數(shù)據(jù)庫表時(shí),對表進(jìn)行刪除或?qū)Ρ淼慕Y(jié)構(gòu)進(jìn)行更改排它DDL鎖:創(chuàng)建、修改、刪除一個(gè)數(shù)據(jù)庫對象的DDL語句獲得操作對象的排它鎖共享DDL鎖:需在數(shù)據(jù)庫對象之間建立相互依賴關(guān)系的DDL語句通常需共享獲得DDL鎖分析鎖:一種獨(dú)特的DDL鎖類型,Oracle使用它追蹤共享池對象及它所引用數(shù)據(jù)庫對象之間的依賴關(guān)系。DML鎖:防止多個(gè)事務(wù)并發(fā)訪問數(shù)據(jù)時(shí)對數(shù)據(jù)一致性和完整性破壞行鎖表級鎖
Oracle中鎖的分類-13-數(shù)據(jù)庫級別的鎖
將數(shù)據(jù)庫設(shè)置成受限方式將數(shù)據(jù)庫更改成只讀方式表級別的鎖
用于還沒提交或回退事務(wù)之前,防止其他用戶對表的結(jié)構(gòu)進(jìn)行更改行級別的鎖行級別的鎖是Oracle中支持的最低級別的鎖,而且行級鎖只有獨(dú)占鎖定模式,沒有共享鎖定模式Oracle中鎖的級別-14-通過SQLDeveloper檢測與解決鎖爭用
在被殺死的會(huì)話中無論是使用commit語句還是rollback語句,都會(huì)出現(xiàn)“ORA-00028:您的會(huì)話己被終止”的提示,并且需要重新登錄才能操作數(shù)據(jù)庫。通過OEM檢測與解決鎖爭用
輸入https://localhost:1158/em就會(huì)進(jìn)入登錄界面首先以SYS用戶并以SYSDBA身份登錄OEM,進(jìn)入“主目錄”頁面,在該頁面中單擊“性能”超鏈接,進(jìn)入“性能”屬性頁面。然后單擊“性能”屬性頁面中“其他監(jiān)視鏈接”標(biāo)題下的“實(shí)例鎖”超連接,將進(jìn)入“實(shí)例鎖”頁面Oracle中的鎖爭用的檢測與解決-15-事務(wù)是用戶定義的數(shù)據(jù)庫操作序列事務(wù)的基本操作包括事務(wù)開始、事務(wù)讀寫、事務(wù)結(jié)束和事務(wù)提交事務(wù)特性包括原子性、一致性、隔離性和持久性,簡稱ACID事務(wù)開始前可以通過語句設(shè)置當(dāng)前事務(wù)的執(zhí)行屬性,如:是否可讀、是否可寫、隔離級別等并發(fā)的事務(wù)之間可能會(huì)發(fā)生訪問沖突,這就需要一個(gè)能自動(dòng)解決事務(wù)對數(shù)據(jù)的并發(fā)訪問所帶來的問題的機(jī)制,這種機(jī)制就是并發(fā)控制鎖技術(shù)可以有效的解決并行操作的一致性問題不同的數(shù)據(jù)庫管理系統(tǒng)提供的鎖實(shí)現(xiàn)不盡相同,但是基本原理和技術(shù)是相同的小結(jié)-1-16-鎖有兩種最基本的類型:獨(dú)占鎖和共享鎖鎖定的粒度與系統(tǒng)的并發(fā)度和并發(fā)控制的開銷密切相關(guān)。一般來講,鎖定的粒度越大,需要鎖定的對象就越少,可選擇性就越小,并發(fā)度就越小,開銷就越??;反之,鎖定的粒度越小,需要鎖定的對象就越多,可選擇性就越大,并發(fā)度就越大,開銷就越大在多個(gè)事務(wù)并發(fā)執(zhí)行的過程中可能出現(xiàn)死鎖,可以使用一次鎖定法或順序鎖定法預(yù)防死鎖,使用超時(shí)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2021-2026年中國中頻熔煉電爐市場深度分析及投資戰(zhàn)略咨詢報(bào)告
- 2025年 昌吉州招聘中學(xué)教師筆試試題附答案
- 2025年中國云終端行業(yè)市場調(diào)查研究及投資前景預(yù)測報(bào)告
- 2025年電影放映項(xiàng)目深度研究分析報(bào)告
- 高性能絕緣材料項(xiàng)目可行性研究報(bào)告方案可用于立項(xiàng)及銀行貸款+201
- 1000噸年鋁基復(fù)合材料建設(shè)投資項(xiàng)目可行性實(shí)施報(bào)告
- 紗布底植絨布項(xiàng)目投資可行性研究分析報(bào)告(2024-2030版)
- 社區(qū)危舊房改造項(xiàng)目可行性研究報(bào)告
- 2025年中國分動(dòng)器行業(yè)發(fā)展運(yùn)行現(xiàn)狀及投資潛力預(yù)測報(bào)告
- 中國防縮無結(jié)針織紗行業(yè)市場發(fā)展前景及發(fā)展趨勢與投資戰(zhàn)略研究報(bào)告(2024-2030)
- 珠寶公司文件管理制度
- 2024年黃岡團(tuán)風(fēng)縣招聘城區(qū)社區(qū)工作者真題
- 2025年山東省高考?xì)v史試卷真題
- 2025至2030中國農(nóng)膜行業(yè)發(fā)展分析及發(fā)展前景與投資報(bào)告
- 2025圖解《政務(wù)數(shù)據(jù)共享?xiàng)l例》V1.0學(xué)習(xí)解讀
- 一二次深度融合成套柱上斷路器匯報(bào)課件
- 解凍記錄表(標(biāo)準(zhǔn)模版)
- 小學(xué)生個(gè)人信息表完整
- 生活飲用水游離余氯方法驗(yàn)證報(bào)告
- DB32∕T 186-2015 建筑消防設(shè)施檢測技術(shù)規(guī)程
- 巡檢培訓(xùn)課件.ppt
評論
0/150
提交評論