1、 找到正在执行的 SQL,或者造成等待事件的SQL 的 sid 和 serial#,通过这两个值确定一个 session
SELECT b.username 用户名,
b.sid, session_id
b.serial#, 串口号
spid 操作系统ID,
paddr, session对应的进程地址,
sql_text 正在执行的SQL,
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、 杀死该会话
alter system kill session 'sid,SERIAL#';
–===========================================================================
oracle 等待事件 SQL 查询
select ash.USER_ID,
u.username,
sum(ash.WAIT_TIME) ttl_wait_time,
s.SQL_TEXT
from v$active_session_history ash, v$sqlarea s, dba_users u
where ash.SAMPLE_TIME between sysdate - 60 / 2880 and sysdate
and ash.SQL_ID = s.SQL_ID
and ash.USER_ID = u.user_id
group by ash.USER_ID, s.SQL_TEXT, u.username
order by ttl_wait_time desc;
```