欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

altersystemkillsessionimmediate

程序员文章站 2022-05-13 11:08:19
...

今天工作中遇到一问题:执行一个存储过程,执行了好久没有执行完,后来发现表被锁了。 select * from v$locked_object select * from user_objects where object_id = 对象id--(可以从v$locked_object表中查到) select * from V$session where sid = 会话id-

今天工作中遇到一问题:执行一个存储过程,执行了好久没有执行完,后来发现表被锁了。

select * from v$locked_object

select * from user_objects where object_id = 对象id--(可以从v$locked_object表中查到)

select * from V$session where sid = 会话id--(可以从v$locked_object表中查到,session_id)

alter system kill session 'sid serial#'--(可以从v$session查到)(用来终止会话,不释放资源)

alter system kill session 'sid serial#' immediate --(终止会话,释放资源)

在操作系统级别通过杀死线程也可以终止会话并释放资源:
select s.sid, spid, osuser, s.program
from v$process p, v$session s where p.addr=s.paddr;--(查询spid)

select instance_name from v$instance;--(查询实例名)

C:\>orakill instance_name spid --即可杀死线程释放资源,适用于windows系统.linux系统用kill -9 spid,没测试过linux