更新表时出现此数据库错误:ORA-00054:资源正忙并且正在使用指定的NOWAIT进行获取,或者超时已过期,怎么解决?
更新表时出现此数据库错误:ORA-00054:资源正忙并且正在使用指定的NOWAIT进行获取,或者超时已过期,怎么解决?
我来答
添加附件
收藏
复制链接
微信扫码分享
在小程序上查看
分享
添加附件
问题补充
2条回答
默认
最新
有锁,别人占用了,等他提交或者回滚,或者找出来 杀掉他。用下面语句查查看。
select s.SID,s.SERIAL#,s.MACHINE,s.TYPE,l.TYPE,l.CTIME,l.BLOCK,l.REQUEST,l.LMODE,
decode(l.lmode,
0,
'None',
1,
'Null',
2,
'Row-S (SS)',
3,
'Row-X (SX)',
4,
'Share',
5,
'S/Row-X (SSX)',
6,
'Exclusive',
substr(to_char(l.lmode), 1, 13)) as "Locked Mode",
DECODE(L.TYPE,
'MR',
'File_ID:' || L.ID1,
'TM',
t.NAME,
'TX',
'USN:' || to_char(TRUNC(L.ID1 / 65536)) || 'RWO:' ||
nvl(r.NAME, 'None'),
L.ID1) as LOCK_ID1,
'alter system kill session ''' || s.SID || ',' || s.SERIAL# || ''';' as "Kill"
from v$process p
inner join v$session s
on s.PADDR = p.ADDR
inner join v$lock l
on l.SID = s.SID
left join sys.obj$ t
on l.ID1 = t.obj#
left join sys.obj$ r
on s.ROW_WAIT_OBJ# = r.obj#
where 1 = 1
and l.TYPE != 'MR'
-- and l.TYPE = 'TM'
and l.lmode = 3
order by s.SID;
评论
有用 0
找个漆黑无人打扰的夜晚进行操作,好使~
评论
有用 0回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
墨值悬赏


