plsql被另乙個使用者鎖住的解決辦法

2022-05-25 00:54:10 字數 929 閱讀 2803

今天很不幸,可能由於自己的疏忽,在用plsql的時候用select * from 表名 for update去修改資料,之後由於接著專心寫**修bug等又做其他事情了,導致可能沒有關閉鎖,然後關閉了plsql,之後再查修改的資料準備提交的時候,就報錯了,提示【記錄被另乙個使用者鎖住】,所以這裡提醒一下大家,最好不要用for update去修改資料,要用select a.*,a.rowid from 表名去修改資料,這樣可以避免被鎖。

或者用以下命令: 

select b.owner,b.object_name,l.session_id,l.locked_mode from v$locked_object l, dba_objects b where b.object_id=l.object_id 

2、找出資料庫的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、殺死該session:   

alter system kill session 'sid,serial#'

以上基本就可以實現解鎖,但是在小編的操作過程中,好像多用了幾次select a.*,a.rowid from 表名

去操作 的時候,就自動解鎖了,當然具體場景,大家可以多嘗試一下,說不定會有另外的收穫呢。

解決PLSQL記錄被另乙個使用者鎖住的問題

使用dba賬戶在sql視窗執行 1 檢視資料庫鎖,診斷鎖的 及型別 select object id,session id,locked mode from v locked object 或者用以下命令 select b.owner,b.object name,l.session id,l.loc...

oracle 記錄被另乙個使用者鎖住

今天在oracle資料中刪除資料時提示 記錄被另乙個使用者鎖住 解決方法 1 檢視資料庫鎖,診斷鎖的 及型別 select object id,session id,locked mode from v locked object 或者用以下命令 select b.owner,b.object na...

oracle 記錄被另乙個使用者鎖住

今天在oracle資料中刪除資料時提示 記錄被另乙個使用者鎖住 解決方法 select object id,session id,locked mode from v locked object 或者用以下命令 select b.owner,b.object name,l.session id,l....