Oracle对象锁查看及杀死指定session

Oracle对象锁查看及杀死指定session

-- 0.给指定用户(这里用system)分配下列系统表的【select】权限(这是前提)。
grant select on v_$process to system;
grant select on v_$locked_object to system;
grant select on v_$lock to system;

-- 1.统计对象锁数量
select count(*) from v$locked_object;

-- 2.查询对象锁记录
select * from v$locked_object;

-- 3.获取更多被锁对象详情,包括session等信息,其中【object_name】字段就是被锁的表等对象的名称
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;

-- 4.以上一步得到的session_id为条件,查询session详情
SELECT sid, serial#, username, osuser FROM v$session where sid = '361';  

-- 5.以上一步得到的session_id、session序列号为条件,杀死session
ALTER SYSTEM KILL SESSION '361, 31417';
posted @ 2023-08-02 11:29  JaxYoun  阅读(164)  评论(0)    收藏  举报