Oracle 多粒度封鎖機制的監控

2021-08-30 19:07:46 字數 1366 閱讀 4415

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...