Oracle 强制中止正在执行的SQL语句

时间:2023-03-09 07:04:00
Oracle 强制中止正在执行的SQL语句

-- 1 查询正在执行的sql语句

select b.sid, b.username, b.serial#, a.spid, b.paddr, c.sql_text, b.machine

from v$process a, v$session b, v$sqlarea c

where a.addr = b.paddr

and b.sql_hash_value = c.hash_value;

-- 2 根据sid与serial# kill 需要中止的sql语句

 select sql_text, b.sid,b.serial#, 'alter system kill session'''||b.SID||','||b.serial#||''';',b.username
from v$process a, v$session b, v$sqlarea c
where a.addr = b.paddr
and b.sql_hash_value = c.hash_value 

-- 3 查询oracle当前被锁对象

select a.session_id, c.serial#, a.locked_mode, a.oracle_username, a.os_user_name, c.machine,
       c.terminal, b.object_name, c.logon_time
from   v$locked_object a, all_objects b, v$session c
where  a.object_id = b.object_id and a.session_id = c.sid
order  by c.sid, c.serial#;