SQL> select count(distinct d.user_name) from apps.fnd_logins a,
v$session b, v$process c, apps.fnd_user d
where b.paddr = c.addr
and a.pid=c.pid
and a.spid = b.process
and d.user_id = a.user_id
and (d.user_name = 'USER_NAME' OR 1=1); 2 3 4 5 6 7
COUNT(DISTINCTD.USER_NAME)
--------------------------
237
3. Run the following queries:
This will give the number of users on the system in the past 1 hour.
SQL> select count(distinct user_id) "users" from icx_sessions where last_connect > sysdate - 1/24 and user_id != '-1';
This will give the number of users on the system in the past 1 day.
SQL> select count(distinct user_id) "users" from icx_sessions where last_connect > sysdate - 1 and user_id != '-1';
This will show the activity in the last 15 minutes.
SQL> select limit_time, limit_connects, to_char(last_connect, 'DD-MON-RR HH:MI:SS') "Last Connection time",
user_id, disabled_flag from icx_sessions where last_connect > sysdate - 1/96;
http://appsdbafix.blogspot.com/2013/02/number-of-users-connected-with-oracle.html