select
username,
machine,
inicio_logon,
fim_logon,
sum(sess_ativas) as sess_ativas,
sum(sess_inativas) as sess_inativas,
sysdate
from (
select
s.username as username,
s.machine as machine,
(case when status = ‘ACTIVE’ then count() end) as sess_ativas,
(case when status ‘ACTIVE’ then count() end) as sess_inativas,
min(s.logon_time) as inicio_logon,
max(s.logon_time) as fim_logon
from v$session s,
v$process p
where s.paddr = p.addr
and s.username is not null
group by s.username, s.machine, s.status
) group by username, machine, inicio_logon, fim_logon order by username, machine;
😉