下面的SQL查询语句可以得到与当前数据库连接的所有用户的一些基本情况,如用户名、状态、连接机器的名称,操作系统中用户的名称,UNIX系统的进程号,在UNIX操作系统级断开连接的语句,Oracle数据库系统断开连接的语句,登陆时间以及最后一次操作到现在的空闲时间等等。
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;
浙公网安备 33010602011771号