Oracle 小技巧系列-kill session

Posted 全栈工程师成长记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle 小技巧系列-kill session相关的知识,希望对你有一定的参考价值。

引言:

        在项目开发中,操作数据库表的时候,总是会遇到其它用户在操作表,导致调整表结构出现异常提示.

    


解决方法

--1、查找表对象

select * from dba_objects where object_name='GT_GENERAL_SES1'; --表名,获取OBJECT_ID


--2、查找sessionID

select sid from v$enqueue_lock t where t.type='TO' and  id1='99879'; --id1为上一步的值

SID SERIAL#

-------------------------

103 257

113 181

124 89

126 632


--3、找到该对象导致的锁的Session会话,并编写语句
select  'alter system kill session '''||SID||','||SERIAL#||''';' from V$session  where SID in ( select sid from v$enqueue_lock t where t.type='TO' and  id1='99879' )


--4、执行生成后的SQL语句解除死锁



以上是关于Oracle 小技巧系列-kill session的主要内容,如果未能解决你的问题,请参考以下文章

如何杀掉(kill)Oracle中的会话(Session)

ORACLE 下查看用户session 及 kill 用户session

oracle for update锁表资源释放之kill -9和alter system kill session 'sid,serial#';

Oracle 解决存储过程包中,kill session的权限问题

Linux下查询进程PS或者杀死进程kill的小技巧

Oracle 杀掉 session 相关 sql 语句