轉載oracle資料庫鎖
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
1.oracle提供的所型別可以根據v$lock_type 中的type來查詢,我們平時接觸的最多的是兩種
程式碼如下 複製程式碼
select * from v$lock_type where type in ('TM','TX')
檢視描述,可以大概的得知兩種鎖的資訊.TM是同步訪問物件用的,TX是和事務有關的.
3.要知道的有2個概念:
(1).鎖定資料的鎖,也就是行級鎖,只有一種:排它鎖 exclusive (ROW)
(2).鎖定表上的鎖,即鎖定後設資料的鎖 metadata(table),一共有5種:
2 RS: row share
3 RX: row exclusive
4 S: sha(
5 SRX: share row exclusive
6 X: exclusive4.根據oracle聯機文件的concepts的
我們可以從這個表找出至少2個東西,.第一是每種資料庫操作都對應的是什麼樣的鎖(參考中間那一列),第二是每種鎖之間,如果遇到之後是否會產生衝突,所謂衝突就是是否會使當前的資料庫操作夯住.其中Y*,表示如果兩個操作鎖定的是同一行,那麼就會有衝突,後操作的會等待前一個操作完成之後再完成,否則會一直夯在那兒;如果不為同一行,那麼則不會衝突,後操作的不會等待.舉一個例子來說明:假設現在A操作為:對id=1的記錄進行update,而B操作為:對id=2的記錄進行刪除,根據表格說明,在A上操作時在TM級別的鎖會是RX,TX級別只有一個是X,在B上會有一個TM級別的鎖會是RX,TX級別只有一個X,而根據表格說明,當RX遇到RX的時候,如果2個操作非同一條記錄,那麼則不會衝突,故AB兩個操作均會按照各自的先加一個TM鎖,再加一個TX鎖,再順利執行各自的操作,不會夯住。如果將B操作的記錄id換位1,那麼兩個操作記錄為同一條記錄,在TM鎖上會表現出衝突,所以B操作就會等待A操作完成提交後(也就是A的TX鎖釋放了後),B再相應的生成一個TX鎖和一個TM鎖再完成操作,否則的話會一直夯住,等待A釋放TX鎖.
from:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8568259/viewspace-2100902/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle 資料庫的鎖Oracle資料庫
- 轉載--oracle DML鎖Oracle
- 手工修改Oracle資料庫DBNAME-轉載Oracle資料庫
- 概述Oracle中的資料庫名---轉載Oracle資料庫
- 【轉載】[效能分析]Oracle資料庫效能模型Oracle資料庫模型
- 解決Oracle資料庫死鎖Oracle資料庫
- Oracle資料庫資料鎖機制解析(zt)Oracle資料庫
- ORACLE鎖機制-轉載Oracle
- [轉]介紹了Oracle資料庫鎖的種類及研究Oracle資料庫
- ORACLE 資料庫中的鎖機制Oracle資料庫
- (轉載)Oracle資料庫字符集問題解析Oracle資料庫
- 手動建立 Oracle9i 資料庫(轉載)Oracle資料庫
- Oracle資料庫效能最佳化技術(轉載)Oracle資料庫
- 轉載:Oracle常用的資料庫欄位型別Oracle資料庫型別
- [轉載]oracle手動鎖表Oracle
- Oracle資料庫意外刪除資料檔案的恢復(轉載)Oracle資料庫
- 【資料庫——鎖】資料庫
- Oracle中關於資料庫例項名與資料庫服務名(轉載)Oracle資料庫
- 資料庫營銷(轉載)資料庫
- Oracle資料庫資料物件分析(轉)Oracle資料庫物件
- 【轉載】監控Oracle資料庫的常用shell指令碼Oracle資料庫指令碼
- [轉載]Oracle資料庫應用系統調優方法Oracle資料庫
- [轉載]Oracle資料庫字符集問題解析3Oracle資料庫
- [轉載]Oracle資料庫字符集問題解析2Oracle資料庫
- [轉載]Oracle資料庫字符集問題解析1Oracle資料庫
- oracle資料庫軟體下載Oracle資料庫
- Oracle資料庫碎片整理(轉)Oracle資料庫
- oracle資料庫巡檢(轉)Oracle資料庫
- 手工建立oracle資料庫(轉)Oracle資料庫
- ORACLE資料庫簡介(轉)Oracle資料庫
- 取得oracle資料庫資訊(轉)Oracle資料庫
- PHP Oracle 資料庫函式庫(轉)PHPOracle資料庫函式
- Sybase資料庫簡介 (轉載)資料庫
- ORACLE資料庫線上備份原理[轉載兒子屬羊]Oracle資料庫
- 【轉載】Oracle資料字典檢視Oracle
- 【轉載】關聯式資料庫還是NoSQL資料庫資料庫SQL
- Oracle資料庫升級(轉發)Oracle資料庫
- 【轉】檢視Oracle資料庫阻塞Oracle資料庫