Script pro zjištění počtu aktuálních sessions

select 
COUNT(*)AS POCET, sss.sid, blk.used_ublk, s.OSUSER, s.MACHINE, s.USERNAME, s.MODULE, s.ACTION, s.SQL_ID, MIN(s.LOGON_TIME), MAX(s.LOGON_TIME)
from v$session s
LEFT JOIN
(
SELECT ss.SID, ss.SQL_ID
from v$session SS
where ss.username IS not NULL
AND ss.STATUS = 'ACTIVE'
AND ss.PROGRAM IN ('osh.exe', 'uvsh.exe') -- win_server
) sss
ON s.SQL_ID = sss.sql_id
LEFT JOIN (select p.sid, s.used_ublk from v$transaction s, v$session p where s.addr=p.taddr) blk
ON blk.sid = sss.sid

where username is not NULL
AND s.STATUS = 'ACTIVE'
GROUP BY sss.sid, blk.used_ublk, s.USERNAME, s.OSUSER, s.MACHINE,s.MODULE, s.ACTION, s.SQL_ID
order by COUNT(*) DESC, MAX(s.LOGON_TIME)
Příspěvek byl publikován v rubrice Admin scripts, Oracle SQL. Můžete si uložit jeho odkaz mezi své oblíbené záložky.