Oracle資料庫鎖表及解鎖程序

2021-09-22 07:04:40 字數 792 閱讀 3232

下午**遷移,更新資料庫記錄時for update語句無法執行,資料庫被鎖,kill掉幾個程序搞定。

oracle資料庫操作中,我們有時會用到鎖表查詢以及解鎖和kill程序等操作,那麼這些操作是怎麼實現的呢?簡要介紹一下。

鎖表查詢的**有以下的形式: 

select

count(*) from

v$locked_object;

select

*from v$locked_object;

檢視哪個表被鎖

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;

檢視是哪個session引起的

select

b.username,b.sid,b.serial#,logon_time

from

v$locked_object a,v$session b

where a.session_id = b.sid order

by b.logon_time;

殺掉對應程序

執行命令:

alter system kill session'

1025,41

';

其中1025為sid,41為serial#。

Oracle資料庫查詢鎖表及解鎖

運算元據庫的過程中,多使用者對同一條資料或同乙個表進行操作,且乙個使用者的操作未提交 一 查詢哪些表被鎖以及檢視鎖表得會話及作業系統程序id 其中locked mode為鎖的級別,spid為資料庫所在作業系統的程序idselect c.sid,c.serial c.username,c.osuser...

Oracle資料庫查詢鎖表及解鎖

一 查詢哪些表被鎖以及檢視鎖表得會話及作業系統程序id 其中locked mode為鎖的級別,spid為資料庫所在作業系統的程序idselect c.sid,c.serial c.username,c.osuser,b.owner,b.object name a.locked mode,p.spid...

Oracle資料庫表被鎖與解鎖

本人小菜鳥,今天在專案中遇到了乙個令我費解的問題,就是我之前寫的運算元據的方法全部都不能用了,例如儲存 修改 刪除全部都不能用了 打斷點進去一步一步走發現在運算元據的時候出的問題,後台也不會報錯,糾結了好長時間啊,中午吃飯的時候討論到這個問題,大神一語道破其中奧妙啊,他說可能是資料庫表鎖死啦。哎呦喂...