Oracle报 ORA-00054资源正忙的解决办法

只需三步:

第一步:

 select session_id from v$locked_object;

第二步:

 SELECT sid, serial#, username, osuser FROM v$session where sid = 967;

第三步:

ALTER SYSTEM KILL SESSION '967,59523';

其他问题:

1.查询数据库中的锁

select * from v$lock;
select * from v$lock where block=1;

2.查询被锁的对象

select * from v$locked_object;

3.查询阻塞

查被阻塞的会话
select * from v$lock where lmode=0 and type in ('TM','TX');

查阻塞别的会话锁
select * from v$lock where lmode>0 and type in ('TM','TX');

4.查询数据库正在等待锁的进程

select * from v$session where lockwait is not null;

5.查询会话之间锁等待的关系

select a.sid holdsid,b.sid waitsid,a.type,a.id1,a.id2,a.ctime from v$lock a,v$lock b
where a.id1=b.id1 and a.id2=b.id2 and a.block=1 and b.block=0;

6.查询锁等待事件
select * from v$session_wait where event='enqueue';

解决方案:
select session_id from v$locked_object; --首先得到被锁对象的session_id
SELECT sid, serial#, username, osuser FROM v$session where sid = session_id; --通过上面得到的session_id去取得v$session的sid和serial#,然后对该进程进行终止。
ALTER SYSTEM KILL SESSION 'sid,serial';
example:
ALTER SYSTEM KILL SESSION '13, 8';
0
分享到:

评论0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
网站所有系统都包含源代码+数据库+导入视频+演示视频+典型代码讲解视频+远程部署成功+售后答疑,需要联系客服微信:mtyeducation
没有账号? 忘记密码?
豫ICP备19004322号-2