[Oracle] 淺談Lock與Latch
首先談?wù)勊鼈兊墓餐c(diǎn)吧:它們本質(zhì)上都是一種對(duì)資源的獨(dú)占鎖定,都是由并發(fā)引起(如果數(shù)據(jù)庫(kù)只有一個(gè)session,就談不上鎖定)。
接著著重談?wù)勊鼈兊牟煌c(diǎn):
首先,它們的目的不一樣,enqueue (即Lock,Oracle官方文檔混合使用這兩個(gè)名詞,在等待事件里,可以看到大量的enqueue,其實(shí)就是lock)是為了解決業(yè)務(wù)層面的數(shù)據(jù)爭(zhēng)用,而latch是為了解決內(nèi)存資源的爭(zhēng)用。
其次,它們的運(yùn)行方式不一樣,enqueue采用排隊(duì)方式,先到先得,而latch的競(jìng)爭(zhēng)近乎無(wú)序,以一種隨機(jī)的方式,先到不一定先得,得靠搶?zhuān)宜€以一種時(shí)間片輪訓(xùn)的方式,不會(huì)一直霸占,即時(shí)還沒(méi)運(yùn)行完,時(shí)間片一到也。
第三,會(huì)話持有的時(shí)長(zhǎng)不一樣,enqueue根據(jù)業(yè)務(wù)情況,可能會(huì)持有較長(zhǎng)時(shí)間,而latch通常非常短。第四,引起的原因不一樣,enqueue太多通常是業(yè)務(wù)設(shè)計(jì)的問(wèn)題,而latch過(guò)多,一般是數(shù)據(jù)庫(kù)層面的問(wèn)題(如未使用綁定變量、表或索引熱塊等)。
相關(guān)文章
Oracle通過(guò)正則表達(dá)式分割字符串 REGEXP_SUBSTR的代碼詳解
這篇文章主要介紹了Oracle通過(guò)正則表達(dá)式分割字符串 REGEXP_SUBSTR的相關(guān)知識(shí),非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-05-05ORACLE 如何查詢(xún)被鎖定表及如何解鎖釋放session
后臺(tái)數(shù)據(jù)庫(kù)操作某一個(gè)表時(shí)發(fā)現(xiàn)一直出于假死狀態(tài),可能是該表被某一用戶(hù)鎖定,接下來(lái)為你詳細(xì)介紹下查詢(xún)被鎖定表及如何解鎖,感興趣的你可以參考下,希望可以幫助到你2013-03-03解決Oracle圖形化安裝過(guò)程中出現(xiàn)的豎線問(wèn)題
這篇文章主要介紹了解決ORACLE圖形化安裝過(guò)程中出現(xiàn)的豎線問(wèn)題,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-08-08Oracle Table Demo語(yǔ)句應(yīng)用介紹
在開(kāi)發(fā)過(guò)程中可能會(huì)用到oracle table demo 操作語(yǔ)句,本文將以此進(jìn)行介紹,需要的朋友可以參考下2012-11-11Oracle 子程序參數(shù)模式,IN,OUT,NOCOPY
Oracle 子程序參數(shù)模式主要有IN,OUT,NOCOPY,IN和OUT可以組合,OUT和NOCOPY也可以組合使用.2009-10-10ORA-00349|激活 ADG 備庫(kù)時(shí)遇到的問(wèn)題及處理方法
這篇文章主要介紹了ORA-00349|激活 ADG 備庫(kù)時(shí)遇到的問(wèn)題及處理方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03