版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、一般都說,rebuildindexonline不阻塞DML操作,這是相對(duì)于rebuildindex來說的,加上了online,只是在rebuild的期間不阻塞DML,但是在開始和結(jié)束階段還是可能阻塞其他進(jìn)程的DML的,要弄清楚到底是阻塞還是不阻塞,何處阻塞,為什么阻塞,還是要從鎖的角度來分析。本文實(shí)驗(yàn)環(huán)境為acle10.2.0.4。acle中的鎖,一共有6兩種模式:0:none1:null空2:RowS行共享(RS):共享表鎖,subs
2、hare3:RowX行獨(dú)占(RX):用于行的修改,subexclusive4:Share共享鎖(S):阻止其他DML操作,share5:SRowX共享行獨(dú)占(SRX):阻止其他事務(wù)操作,sharesubexclusive6:exclusive獨(dú)占(X):獨(dú)立訪問使用,exclusive我們知道,DML操作一般要加兩個(gè)鎖,一個(gè)是對(duì)表加模式為3的TM鎖,一個(gè)是對(duì)數(shù)據(jù)行的模式為6的TX鎖。只要操作的不是同一行數(shù)據(jù),是互不阻塞的。但是rebui
3、ldindexonline在開始和結(jié)束的時(shí)候是需要對(duì)表加一個(gè)模式為4的TM鎖的,這個(gè)可以很容易通過實(shí)驗(yàn)觀察到,實(shí)驗(yàn)中的測(cè)試表t是通過createtabletasfromall_objects生成,并且多次執(zhí)行intotfromt產(chǎn)生較多的數(shù)據(jù),以便延遲rebuild的時(shí)間來觀察系統(tǒng)中鎖的情況:session1:SQLtwhereobject_id=28281rowd.session2:SQLalterindexix_trebuildon
4、lineSession2被阻塞,會(huì)話掛起,這時(shí)查詢v$lock,可以得到如下結(jié)果:SQLsidtypeid1id2lmoderequestfromv$lockwheretypein(DLTMTX)SIDTYID1ID2LMODEREQUEST16431643DL105991059903016431643DL105991059903016221622TM105991059903016431643TM10599105990241627就是s
5、ession3,請(qǐng)求模式為3的TM鎖無法獲得,會(huì)話被阻塞。這是因?yàn)殒i請(qǐng)求是需要排隊(duì)的,即使session3和session1是可以并發(fā)的,但由于session2先請(qǐng)求鎖并進(jìn)入等待隊(duì)列,或來的session3也只好進(jìn)入隊(duì)列等待。所以如果在執(zhí)行rebuildindexonline前長(zhǎng)事務(wù),并且并發(fā)量比較大,則一旦執(zhí)行alterindexrebuildonline,可能因?yàn)殚L(zhǎng)事務(wù)阻塞,可能導(dǎo)致系統(tǒng)瞬間出現(xiàn)大量的鎖,對(duì)于壓力比較大的系統(tǒng),這是一
6、個(gè)不小的風(fēng)險(xiǎn)。這是需要迅速找出導(dǎo)致阻塞的會(huì)話kill掉,rebuildindexonline一旦執(zhí)行,不可輕易中斷,否則可能遇到A08104。在session1執(zhí)行rollback,可以發(fā)現(xiàn)很短時(shí)間內(nèi)session3也正常執(zhí)行完畢,說明session2只有模式4的TM鎖的時(shí)間很短,然后在rebuildonline的進(jìn)行過程中,對(duì)表加的是模式為2的TM鎖,所以這段時(shí)間不會(huì)阻塞DML操作:SQLsidtypeid1id2lmodereque
7、stfromv$lockwheretypein(DLTMTX)SIDTYID1ID2LMODEREQUEST1643DL105990301643DL105990301643TM105990201643TM106070401627TM105990301627TX655392136160保持session3的事務(wù)不提交,等待一段時(shí)間后,session2始終無法完成操作,再觀察系統(tǒng)中鎖的情況,可以發(fā)現(xiàn)又發(fā)生了變化:SQLsidtypeid1i
8、d2lmoderequestfromv$lockwheretypein(DLTMTX)SIDTYID1ID2LMODEREQUEST16431643DL105991059903016431643DL105991059903016431643TM105991059902416431643TM106071060704016271627TM105991059903016431643TX5898525898522582586016271627T
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 淺議mysql鎖表機(jī)制
- DBMS鎖機(jī)制研究.pdf
- 深入理解 sql server 2008 的鎖機(jī)制
- 淺析城市水價(jià)機(jī)制的完善
- 基于用戶級(jí)鎖的業(yè)務(wù)對(duì)象的并發(fā)控制機(jī)制.pdf
- 淺析薪酬管理機(jī)制的優(yōu)化
- 淺析刑事錯(cuò)案防范機(jī)制的構(gòu)建
- 淺析公司治理中的審計(jì)機(jī)制
- 鎖的構(gòu)造
- 淺析實(shí)質(zhì)正義的法律實(shí)現(xiàn)機(jī)制
- 孔明鎖魯班鎖解法
- 淺析地質(zhì)勘探的監(jiān)理機(jī)制
- 淺析國(guó)際貿(mào)易的實(shí)現(xiàn)機(jī)制
- 淺析博弈機(jī)制下的企業(yè)預(yù)算管理方案淺析博弈機(jī)制下的企業(yè)預(yù)算管理方案
- 孔明鎖魯班鎖玩法
- 淺析股指期貨風(fēng)險(xiǎn)防范的法律機(jī)制
- 淺析如何構(gòu)建股東中心的利益機(jī)制
- 淺析大學(xué)生村官的培養(yǎng)機(jī)制
- 淺析關(guān)鍵崗位人才儲(chǔ)備機(jī)制的構(gòu)建
- 淺析員工激勵(lì)機(jī)制
評(píng)論
0/150
提交評(píng)論