查看Oracle被锁的表以及如何解锁

1.查看是否有被锁的表:
select b.owner, b.object_name, a.session_id, a.locked_mode
from v$locked_object a, dba_objects b
where b.object_id = a.object_id
2.查看是哪个进程锁的
select b.username, b.sid,b.serial#, b.logon_time, b.status 
from v$locked_object a, v$session b
where a.session_id = b.sid order by b.logon_time
3.杀掉进程
alter system kill session 'sid,serial#';
  • sid : 用来标识一个session,它一般和process是对应的。一个process一般对应一个session,只要process不结束,则这个process建立的session具有同样的SID。在session结束后,新的session建立时,SID被重用。
  • serial# : 用来表示session的序列号。如上所述,process不结束,建立的session都是同一个sid,但是serial#不相同。oracle通过它来识别具有相同sid的不同session。

session 由 sid 和 serial# 这两个值确定

你可能感兴趣的:(查看Oracle被锁的表以及如何解锁)