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