Oracle会话管理

查询Oracle正在执行的sql语句及执行该语句的用户

SELECT b.sid oracleID,
       b.username 登录Oracle用户名,
       b.serial#,
       spid 操作系统ID,
       paddr,
       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;

查询锁会话并解锁

第一种方法:oracle层面杀会话
select object_name,machine,s.sid,s.serial# 
from v$locked_object l,dba_objects o,v$session s 
where l.object_id=o.object_id and l.session_id=s.sid;

alter system kill session '5,55'; (其中5,55分别是上面查询出的sid,serial#)


第一种方法:操作系统层面杀进程
select spid, osuser, s.program from v$session s,v$process p where s.paddr=p.addr and s.sid=5;     //(5是上面的sid)
kill -9 55555        //(55555是刚查询出的spid)
posted @ 2018-12-06 12:40  reaperhero  阅读(200)  评论(0编辑  收藏  举报