【筆記】lock and latch
lock and latch
lock是一種queue機制,防止多個process同時修改一個object,運用了排隊機制,所有請求按請求先後排序。最常見就是tx,tm lock.
latch是一種保護oracle內部資料結構的機制,防止記憶體結構同時被多個process修改,它的存活期很短,
而且它不是運用queue機制,一個latch釋放然後一堆process上去搶,誰搶到誰就擁有這個latch,
通常我們比較熟悉的的latch有library cache latch,cache buffer chain latch...等.
ORACLE鎖有以下幾種模式:
0:none
1:null 空
2:Row-S 行共享(RS):共享表鎖,sub share
3:Row-X 行獨佔(RX):用於行的修改,sub exclusive
4:Share 共享鎖(S):阻止其他DML操作,share
5:S/Row-X 共享行獨佔(SRX):阻止其他事務操作,share/sub exclusive
6:exclusive 獨佔(X):獨立訪問使用,exclusive
檢視鎖: select * from v$locked_object
oracle鎖的三種方式;
共享封鎖,獨佔封鎖,共享更新封鎖
oracle鎖的三種型別:
內部級封鎖
DDL級封鎖(字典/語法分析封鎖)
DML級封鎖
DML鎖有如下三種封鎖方式:
(1)、共享封鎖方式(SHARE)
(2)、獨佔封鎖方式(EXCLUSIVE)
(3)、共享更新封鎖(SHARE UPDATE
stats$enqueuestat 表中獲得的對oracle調整有關的鎖:
Ci(cross-instance lock)交叉例項鎖
cu(cusor bind lock)遊標繫結鎖
jq job queue lock 作業佇列鎖:提交作業
st space management enqueue lock 空間管理佇列鎖
tm dml enqueue lock dml佇列鎖:這是常規的表鎖(update insert delete)
tx transaction lock 事務鎖:修改時設定,commit或者rollback的時候結束。排隊機制
us user lock ,使用者鎖:當回話使用dbms_lock.request函式獲取鎖的時候,會設定這種鎖。(可以用來序列化)
鎖爭用的問題(待續)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16179598/viewspace-590953/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ORACLE LOCK,LATCH,PINOracle
- mutex,latch,lock,enqueue hash chains latch基礎概念MutexENQAI
- latch:library cache lock等待事件事件
- MySQL 8.0 Reference Manual(讀書筆記66節--locking read 與lock)MySql筆記
- MySQL 8.0 Reference Manual(讀書筆記74節--Spin Lock Polling & Purge Configuration)MySql筆記
- MySQL:Innodb 讓MDL LOCK和ROW LOCK 記錄到errlogMySql
- 【BUFFER】Oracle buffer cache之 latch 學習記錄Oracle
- Oracle Latch 說明Oracle
- hiccup和Latch off
- [20190319]shared pool latch與library cache latch的簡單探究.txt
- [20210512]shared pool latch與library cache latch的簡單探究.txt
- latch等待事件彙總事件
- Latch free等待事件(轉)事件
- Systematic Latch Contention Troubleshooting in OracleOracle
- MySQL:簡單記錄一下Waiting for commit lockMySqlAIMIT
- Latch free等待事件四(轉)事件
- Latch free等待事件三(轉)事件
- [20190416]process allocation latch.txt
- Latch的spin及sleep(zt)
- 【FPGA基礎】Latch基礎FPGA
- Latch free等待事件二(轉)事件
- Lock 鎖
- 印象筆記 --- 方法分享筆記筆記
- mysql innodb lock鎖之record lock之一MySql
- MySQL latch爭用深入分析MySql
- [20190419]shared latch spin count.txt
- [20190418]exclusive latch spin count.txt
- DB BUFFER LRU 列表的latch等待
- 筆記筆記
- V$LOCK(zt)
- mysql lock操作MySql
- [20190416]exclusive latch測試指令碼.txt指令碼
- [20190419]shared latch spin count 2.txt
- [20210218]shared latch spin count 6.txt
- [20210218]shared latch spin count 5.txt
- Library Cache 診斷:Lock, Pin 以及 Load Lock (文件 ID 1548524.1)
- 為什麼要這樣寫final ReentrantLock lock = this.lock; ?ReentrantLock
- ubuntu解決Could not get lock /var/lib/dpkg/lock-frontendUbuntu
- Linux報錯:Could not get lock /var/lib/dpkg/lock-frontendLinux