oracle 多粒度封鎖機制的監控
為了監控oracle系統中鎖的狀況,我們需要對幾個系統檢視有所了解:
5.1 v$lock檢視
v$lock檢視列出當前系統持有的或正在申請的所有鎖的情況,其主要字段說明如下:
表七:v$lock檢視主要字段說明
其中在type欄位的取值中,本文只關心tm、tx兩種dml鎖型別;
5.2 v$locked_object檢視
v$locked_object檢視列出當前系統中哪些物件正被鎖定,其主要字段說明如下:
表八:v$locked_object檢視字段說明
5.3 oracle鎖監控指令碼
根據上述系統檢視,可以編制指令碼來監控資料庫中鎖的狀況。
5.3.1 showlock.sql
第乙個指令碼showlock.sql,該指令碼通過連線v$locked_object與all_objects兩檢視,顯示哪些物件被哪些會話鎖住:
/* showlock.sql */
column o_name format a10
column lock_type format a20
column object_name format a15
select rpad(oracle_username,10) o_name,session_id sid,
decode(locked_mode,0,'none',1,'null',2,'row share',
3,'row exclusive',4,'share',5,'share row exclusive',6,'exclusive') lock_type,
object_name ,xidusn,xidslot,xidsqn
from v$locked_object,all_objects
where v$locked_object.object_id=all_objects.object_id;
5.3.2 showalllock.sql
第二個指令碼showalllock.sql,該指令碼主要顯示當前所有tm、tx鎖的資訊;
/* showalllock.sql */
select sid,type,id1,id2,
decode(lmode,0,'none',1,'null',2,'row share',
3,'row exclusive',4,'share',5,'share row exclusive',6,'exclusive')
lock_type,request,ctime,block
from v$lock
where type in('tx','tm');
oracle多粒度鎖機制
1.資料庫鎖的概念 為了確保併發使用者在訪問同一資料庫物件時的正確性 即無丟失修改 可重複讀 不讀 髒 資料 資料庫中引入了鎖機制。基本的鎖型別有兩種 排它鎖 exclusive locks 記 為x 鎖 和共享鎖 share locks記為 s鎖 排它鎖 若事務t對資料d加x鎖,則其它任何事務都不...
Oracle多粒度鎖機制
基本鎖型別有兩種 排他鎖 exclusive locks 記為x鎖 共享鎖 share locks 記為s鎖。排他鎖 若事務t對資料d加x鎖,則其他事務都不能再對d加任何型別的鎖,直至t釋放d上的x鎖 一般要求在修改資料前要向該資料加排他鎖,所以排他鎖又稱為寫鎖。共享鎖 若事務t對資料d加s鎖,則其...
ORACLE的封鎖機制
設立封鎖機制主要是為了對併發操作進行控制,對干擾進行封鎖,保證資料的一致性和準確性。oracle資料庫封鎖方式有三種 共享封鎖,獨佔封鎖,共享更新封鎖 b 8f4f63b9bb 封鎖型別 b 8f4f63b9bb oracle rdbms的封鎖型別可分為如下三類 內部級封鎖 內部級封鎖是用於保護or...