查看oracle是不是锁表

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了查看oracle是不是锁表相关的知识,希望对你有一定的参考价值。

参考技术A Oracle数据库操作中,我们有时会用到锁表查询以及解锁和kill进程等操作,那么这些操作是怎么实现的呢?本文我们主要就介绍一下这部分内容。
(1)锁表查询的代码有以下的形式:
select count(*) from v$locked_object;
select * from v$locked_object;
(2)查看哪个表被锁
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;
(3)查看是哪个session引起的
select b.username,b.sid,b.serial#,logon_time from v$locked_object a,v$session b where a.session_id = b.sid order by b.logon_time;
(4)杀掉对应进程
执行命令:alter system kill session'1025,41';
其中1025为sid,41为serial#.本回答被提问者和网友采纳
参考技术B 查看v$lock、v$locked_object 参考技术C 若多人同时对一条记录进行操作则会引起死锁
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

select b.username,b.sid,b.serial#
from v$locked_object a,v$session b
where a.session_id = b.sid order by b.logon_time

alter system kill session '950,13760';

以上是关于查看oracle是不是锁表的主要内容,如果未能解决你的问题,请参考以下文章

Oracle 表锁住,杀掉锁表进程

oracle数据库怎么锁表

查看oracle是不是锁表

oracle数据库表被锁了不能操作怎么办

怎么知道数据库表已经锁表了

oracle表在啥情况下会被锁住