[Oracle] 淺談Lock與Latch
首先談?wù)勊鼈兊墓餐c吧:它們本質(zhì)上都是一種對資源的獨占鎖定,都是由并發(fā)引起(如果數(shù)據(jù)庫只有一個session,就談不上鎖定)。
接著著重談?wù)勊鼈兊牟煌c:
首先,它們的目的不一樣,enqueue (即Lock,Oracle官方文檔混合使用這兩個名詞,在等待事件里,可以看到大量的enqueue,其實就是lock)是為了解決業(yè)務(wù)層面的數(shù)據(jù)爭用,而latch是為了解決內(nèi)存資源的爭用。
其次,它們的運行方式不一樣,enqueue采用排隊方式,先到先得,而latch的競爭近乎無序,以一種隨機的方式,先到不一定先得,得靠搶,而且它還以一種時間片輪訓(xùn)的方式,不會一直霸占,即時還沒運行完,時間片一到也。
第三,會話持有的時長不一樣,enqueue根據(jù)業(yè)務(wù)情況,可能會持有較長時間,而latch通常非常短。第四,引起的原因不一樣,enqueue太多通常是業(yè)務(wù)設(shè)計的問題,而latch過多,一般是數(shù)據(jù)庫層面的問題(如未使用綁定變量、表或索引熱塊等)。
相關(guān)文章
在Oracle關(guān)閉情況下如何修改spfile的參數(shù)
大家都知道在Oracle中pfile參數(shù)是可以手動更改的,但是spfile是二進(jìn)制文件所以不可以手動更改,但我最近遇到了一個問題,修改參數(shù)錯誤,導(dǎo)致Oracle啟動不了,一定要修改spfile該怎么辦呢?下面通過這篇文章來一起看看吧。2016-12-12
Oracle百分比分析函數(shù)RATIO_TO_REPORT() OVER()實例詳解
本文通過實例代碼給大家介紹了oracle百分比分析函數(shù)RATIO_TO_REPORT() OVER(),代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-08-08
Oracle?ORA-00904:標(biāo)識符無效解決方法(太坑了!!)
最近執(zhí)行sql時oracle報錯ORA-00904:標(biāo)識符無效,所以這篇文章主要給大家介紹了關(guān)于Oracle?ORA-00904:標(biāo)識符無效解決方法的相關(guān)資料,需要的朋友可以參考下2022-10-10
plsql developer修改sql窗口的大小實現(xiàn)
本文主要介紹了plsql developer修改sql窗口的大小實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-08-08
Oracle 統(tǒng)計用戶下表的數(shù)據(jù)量實現(xiàn)腳本
這篇文章給大家分享Oracle 統(tǒng)計用戶下表的數(shù)據(jù)量實現(xiàn)腳本,非常不錯,具有參考借鑒價值,需要的朋友參考下吧2017-09-09

