oracle被鎖定的記錄解鎖

2021-05-25 02:47:16 字數 993 閱讀 6657

下面是我在開發中遇到的乙個問題,通過以下的方法很好的解決了,下面部分是我從別的網頁中摘下來的,以防自己忘記。

oracal資料庫中的乙個表的一條記錄被鎖定,既不能修改也不能刪除(只看到沙漏,等乙個小時都是這樣),刪除表物件也不行,報錯:  

ora_00054:資源正忙,要求指定nowait 

解決方法:

1、當前session中commit、rollback都可以解鎖  

2、在別的session中(dba)通過  

查詢使用者鎖  

select   s.username,  

decode(l.type,'tm','table   lock',  

'tx','row   lock',  

null)   lock_level,  

o.owner,o.object_name,o.object_type,  

s.sid,s.serial#,s.terminal,s.machine,s.program,s.osuser  

from   v$session   s,v$lock   l,dba_objects   o  

where   s.sid=l.sid  

and   o.object_id=l.id1  

and   s.username   is   not   null  

檢查出來誰鎖了該錶  

檢視結果中object_name='你的表名'  

然後得到sid,serial#  

alter   system   kill   session   'sid,   serial#'    

or  

alter   system   disconnect   session   'sid,   serial#'   immediate;  

3、select   *   from   table   for   update   nowait可以指定nowait

oracle 記錄被鎖定

select object id,session id,locked mode from v locked object select t2.username,t2.sid,t2.serial t2.logon time from v locked object t1,v session t2 wh...

oracle 使用者被鎖定解鎖方法

1.系統引數配置 select from dba profiles where resource name like failed login attempts 2.檢視被鎖的使用者 select lock date,username from dba users where username us...

oracle被鎖定表查詢與解鎖

oracle ebs操作某乙個form介面,或者後台資料庫操作某乙個表時發現一直處於 假死 狀態,可能是該錶被某一使用者鎖定,導致其他使用者無法繼續操作 鎖表查詢sql select object name,machine,s.sid,s.serial from gv locked object l...