Oracle 表锁住,杀掉锁表进程

Posted 话·醉月

tags:

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

背景

  • 在操作Oracle时,多人同时操作oracle数据库的同一张表的时候,经常会造成锁表现象,这时需要手动进行解锁。

步骤

  • 以dba身份登录Oracle数据库(否则用户缺少杀掉进程权限,需要给用户分配权限)
    • sqlplus  /  as sysdba,如下图
  • 查看被锁住的表进程
    • 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;
  • 查找锁表进程的SID和Serial#,因为SID和Serial#共同确定唯一的数据库进程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;
  • 杀掉进程
    • alter system kill session \'sid,serial#\';

以上是关于Oracle 表锁住,杀掉锁表进程的主要内容,如果未能解决你的问题,请参考以下文章

oracle表被锁了怎么处理?

oracle数据库怎么锁表

oracle表在啥情况下会被锁住

oracle查看锁表进程,杀掉锁表进程

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

oracle数据库锁表