oracle資料庫幾種鎖模式

2022-06-17 10:36:09 字數 865 閱讀 2048

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)查詢鎖的sql語句

col owner for a12

col object_name for a16

select b.owner,b.object_name,a.session_id,a.locked_mode

from v$locked_object a, dba_objects b

where b.object_id=a.object_id

(2)查詢鎖的sid,serial

select t2.username,t2.sid,t2.serial#,t2.logon_time

from v$locked_object t1,v$session t2

where t1.session_id=t2.sid

order by t2.logon_time;

(3)殺掉長期沒有釋放的鎖:

alter system kill session 'sid,serial#';

鎖模式圖:

檢視oracle資料庫鎖

方法一 檢視產生鎖的程序id 在資料庫伺服器上 主機 如應用伺服器 等等 select s.machine sourse host,p.spid pid,l.session id sid,s.serial l.locked mode,l.oracle username,s.user l.os use...

Oracle資料庫表被鎖

1 資料庫表被鎖的現象 在運算元據庫時,有的時候我們會很突然的遇到資料庫報下面這個錯誤 sql view plain copy ora 00054 resource busy andacquire with nowait specified 第乙個可能的原因是在lock table 和select ...

oracle資料庫 鎖表 解鎖

1 根據表名查詢鎖定的會話 select p.spid,c.object name,b.session id,a.serial b.oracle username,b.os user name from v process p,v session a,v locked object b,all ob...