oracle 查询正在使用session和process、v$sqlarea销毁

89 阅读1分钟

查看当前的会话连接数

select count(*) from v$session ;

(查看绘画连接的详情select * from v$session )

查看当前的进程连接数

select count(*) from v$process ;

(查看进程连接的详情select * from v$process)

查询正在执行的sql详情

select * from v$sqlarea;

查询绘画并杀死会话

SELECT 'alter system kill session '''||b.sid||','||b.serial#||''' immediate;',  -----执行加粗部分sql即可杀死会话
'orakill orcl '||a.spid WINDOWS_level_kill, ---加粗部分是在win+r  输入cmd  后执行的语句

--第一个加粗部分可以杀死闲置会话,第二个加粗部分可以杀死sql杀不掉的进程 select        b.sid oracleID,  
b.username 登录Oracle用户名,  b.process "客户端进程id",
b.serial#,   b.STATUS,
a.spid 操作系统ID,   
paddr,  
sql_text 正在执行的SQL,  
b.machine 计算机名  
FROM vprocessa,vprocess a, vsession b, v$sqlarea c  
WHERE a.addr = b.paddr  
AND b.sql_hash_value = c.hash_value  
--and c.sql_text like '%select * ……%'    --(可以指定查询会话所执行的sql)  ---字段部分可以是任意sql