版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、18鎖概念基礎(chǔ)鎖概念基礎(chǔ)數(shù)據(jù)庫(kù)是一個(gè)多用戶(hù)使用的共享資源。當(dāng)多個(gè)用戶(hù)并發(fā)地存取數(shù)據(jù)時(shí),在數(shù)據(jù)庫(kù)中就會(huì)產(chǎn)生多個(gè)事務(wù)同時(shí)存取同一數(shù)據(jù)的情況。若對(duì)并發(fā)操作不加控制就可能會(huì)讀取和存儲(chǔ)不正確的數(shù)據(jù),破壞數(shù)據(jù)庫(kù)的一致性。加鎖是實(shí)現(xiàn)數(shù)據(jù)庫(kù)并發(fā)控制的一個(gè)非常重要的技術(shù)。當(dāng)事務(wù)在對(duì)某個(gè)數(shù)據(jù)對(duì)象進(jìn)行操作前,先向系統(tǒng)發(fā)出請(qǐng)求,對(duì)其加鎖。加鎖后事務(wù)就對(duì)該數(shù)據(jù)對(duì)象有了一定的控制,在該事務(wù)釋放鎖之前,其他的事務(wù)不能對(duì)此數(shù)據(jù)對(duì)象進(jìn)行更新操作。在數(shù)據(jù)庫(kù)中有兩種基本的鎖
2、類(lèi)型:排它鎖(ExclusiveLocks,即X鎖)和共享鎖(ShareLocks,即S鎖)。當(dāng)數(shù)據(jù)對(duì)象被加上排它鎖時(shí),其他的事務(wù)不能對(duì)它讀取和修改。加了共享鎖的數(shù)據(jù)對(duì)象可以被其他事務(wù)讀取,但不能修改。數(shù)據(jù)庫(kù)利用這兩種基本的鎖類(lèi)型來(lái)對(duì)數(shù)據(jù)庫(kù)的事務(wù)進(jìn)行并發(fā)控制。acle數(shù)據(jù)庫(kù)的鎖類(lèi)型數(shù)據(jù)庫(kù)的鎖類(lèi)型根據(jù)保護(hù)的對(duì)象不同,acle數(shù)據(jù)庫(kù)鎖可以分為以下幾大類(lèi):DML鎖(datalocks,數(shù)據(jù)鎖),用于保護(hù)數(shù)據(jù)的完整性;DDL鎖(dictiona
3、rylocks,字典鎖),用于保護(hù)數(shù)據(jù)庫(kù)對(duì)象的結(jié)構(gòu),如表、索引等的結(jié)構(gòu)定義;內(nèi)部鎖和閂(internallockslatches),保護(hù)數(shù)據(jù)庫(kù)的內(nèi)部結(jié)構(gòu)。DML鎖的目的在于保證并發(fā)情況下的數(shù)據(jù)完整性,。在acle數(shù)據(jù)庫(kù)中,DML鎖主要包括TM鎖和TX鎖,其中TM鎖稱(chēng)為表級(jí)鎖,TX鎖稱(chēng)為事務(wù)鎖或行級(jí)鎖。當(dāng)acle執(zhí)行DML語(yǔ)句時(shí),系統(tǒng)自動(dòng)在所要操作的表上申請(qǐng)TM類(lèi)型的鎖。當(dāng)TM鎖獲得后,系統(tǒng)再自動(dòng)申請(qǐng)TX類(lèi)型的鎖,并將實(shí)際鎖定的數(shù)據(jù)行的鎖
4、標(biāo)志位進(jìn)行置位。這樣在事務(wù)加鎖前檢查T(mén)X鎖相容性時(shí)就不用再逐行檢查鎖標(biāo)志,而只需檢查T(mén)M鎖模式的相容性即可,大大提高了系統(tǒng)的效率。TM鎖包括了SS、SX、S、X等多種模式,在數(shù)據(jù)庫(kù)中用0-6來(lái)表示。不同的SQL操作產(chǎn)生不同類(lèi)型的TM鎖。在數(shù)據(jù)行上只有X鎖(排他鎖)。在acle數(shù)據(jù)庫(kù)中,當(dāng)一個(gè)事務(wù)首次發(fā)起一個(gè)DML語(yǔ)句時(shí)就獲得一個(gè)TX鎖,該鎖保持到事務(wù)被提交或回滾。當(dāng)兩個(gè)或多個(gè)會(huì)話在表的同一條記錄上執(zhí)行DML語(yǔ)句時(shí),第一個(gè)會(huì)話在該條記錄上
5、加鎖,其他的會(huì)話處于等待狀態(tài)。當(dāng)?shù)谝粋€(gè)會(huì)話提交后,TX鎖被釋放,其他會(huì)話才可以加鎖。38發(fā)生阻塞的唯一情況就是用戶(hù)擁有一個(gè)建有主鍵約束的表。當(dāng)2個(gè)的會(huì)話同時(shí)試圖向表中插入相同的數(shù)據(jù)時(shí),其中的一個(gè)會(huì)話將被阻塞,直到另外一個(gè)會(huì)話提交或會(huì)滾。一個(gè)會(huì)話提交時(shí),另一個(gè)會(huì)話將收到主鍵重復(fù)的錯(cuò)誤?;貪L時(shí),被阻塞的會(huì)話將繼續(xù)執(zhí)行。UPDATE和當(dāng)執(zhí)行Update和操作的數(shù)據(jù)行已經(jīng)被另外的會(huì)話鎖定時(shí),將會(huì)發(fā)生阻塞,直到另一個(gè)會(huì)話提交或會(huì)滾。…fupdat
6、e當(dāng)一個(gè)用戶(hù)發(fā)出..fupdate的錯(cuò)作準(zhǔn)備對(duì)返回的結(jié)果集進(jìn)行修改時(shí),如果結(jié)果集已經(jīng)被另一個(gè)會(huì)話鎖定,就是發(fā)生阻塞。需要等另一個(gè)會(huì)話結(jié)束之后才可繼續(xù)執(zhí)行??梢酝ㄟ^(guò)發(fā)出…fupdatenowait的語(yǔ)句來(lái)避免發(fā)生阻塞,如果資源已經(jīng)被另一個(gè)會(huì)話鎖定,則會(huì)返回以下錯(cuò)誤:a00054:resourcebusyacquirewithnowaitspecified.死鎖死鎖deadlock定義:當(dāng)兩個(gè)用戶(hù)希望持有對(duì)方的資源時(shí)就會(huì)發(fā)生死鎖.即兩個(gè)用戶(hù)
7、互相等待對(duì)方釋放資源時(shí)acle認(rèn)定為產(chǎn)生了死鎖在這種情況下將以犧牲一個(gè)用戶(hù)作為代價(jià)另一個(gè)用戶(hù)繼續(xù)執(zhí)行犧牲的用戶(hù)的事務(wù)將回滾.例子:1:用戶(hù)1對(duì)A表進(jìn)行Update,沒(méi)有提交。2:用戶(hù)2對(duì)B表進(jìn)行Update,沒(méi)有提交。此時(shí)雙反不存在資源共享的問(wèn)題。3:如果用戶(hù)2此時(shí)對(duì)A表作update則會(huì)發(fā)生阻塞,需要等到用戶(hù)一的事物結(jié)束。4:如果此時(shí)用戶(hù)1又對(duì)B表作update,則產(chǎn)生死鎖。此時(shí)acle會(huì)選擇其中一個(gè)用戶(hù)進(jìn)行會(huì)滾,使另一個(gè)用戶(hù)繼續(xù)執(zhí)行
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 地質(zhì)基礎(chǔ)概念
- 基礎(chǔ)建筑概念
- jeecms基礎(chǔ)概念.txt
- jeecms基礎(chǔ)概念.txt
- jeecms基礎(chǔ)概念.txt
- jeecms基礎(chǔ)概念.txt
- hla基礎(chǔ)概念介紹課件
- 機(jī)械基礎(chǔ)概念(豎版)
- sdram與內(nèi)存基礎(chǔ)概念
- 初中數(shù)學(xué)基礎(chǔ)概念匯總
- 保險(xiǎn)基礎(chǔ)概念知識(shí)大全
- 胸鎖關(guān)節(jié)的基礎(chǔ)研究.pdf
- 基礎(chǔ)知識(shí)(相關(guān)概念)2
- 量子力學(xué)基礎(chǔ)概念題庫(kù)
- 分式的概念和性質(zhì)(基礎(chǔ))
- ps基礎(chǔ)概念-貼吧收錄
- 基礎(chǔ)會(huì)計(jì)的概念與特征
- 中醫(yī)養(yǎng)生入門(mén)基礎(chǔ)概念必看
- 水文水資源基礎(chǔ)概念
- 藥品招標(biāo)基礎(chǔ)知識(shí)概念
評(píng)論
0/150
提交評(píng)論