all:
SELECT
s.username 用户名称, s.status 状态,s.machine 机器名称,
osuser 操作系统用户名称,spid UNIX进程号,
'kill -9 '||spid UNIX级断开连接,
'alter system kill session ' ||''''||s.sid||',
'||s.serial# || ''';' Oracle级断开连接,
TO_CHAR (logon_time, 'dd/mm/yyyy hh24:mi:ss') 登陆时间,
last_call_et 空闲时间秒,
TO_CHAR (TRUNC (last_call_et / 3600, 0))||' '||' HRS '||
TO_CHAR (
TRUNC ((last_call_et - TRUNC
(last_call_et / 3600, 0) * 3600) / 60, 0)
) ||' MINS' 空闲时间小时分钟,
module 模块
FROM v$session s, v$process p
WHERE TYPE = 'USER'
AND p.addr = s.paddr
AND status != 'KILLED'
-- AND SUBSTR (machine, 1, 19) NOT IN ('机器名')
AND last_call_et > 60 * 60 * 1
-- 空闲时间超过1小时的连接
ORDER BY last_call_et desc;
删除语句:
SELECT
'alter system kill session ' ||''''||s.sid||','||s.serial# || ''';' Oracle
FROM v$session s, v$process p
WHERE TYPE = 'USER'
AND p.addr = s.paddr
AND status != 'KILLED'
AND SUBSTR (machine, 1, 19) NOT IN ('huaqiang-server')
AND last_call_et > 60 * 60 * 1
and s.status ='INACTIVE'
ORDER BY last_call_et desc;
本文提供了一种使用SQL查询来管理Oracle数据库中长时间空闲的用户会话的方法。通过查询v$sessions和v$process视图,可以列出并终止空闲时间超过一小时的会话。此外,还提供了用于构建SQL命令以终止这些会话的具体语法。
1380

被折叠的 条评论
为什么被折叠?



