How to Retrieve Information on Users Currently Logged on?
For PeopleTools 8.4x:
We could see this information from the navigation:
PeopleTools -> Security -> Review Security Information -> Access Log Queries
It uses the information from the LASTSIGNONDTTM field on the PSOPRDEFN table and populates the PSACCESSLOG table with this information.
For PeopleTools 8.44x, the information can be accessed from Performance Monitor.
PeopleTools > Security Common Queries > PeopleTools Performance Monitor > System Monitor > Current User Sessions
However the challenge is – that since PeopleSoft uses WebServer technology - if a user has closed a session without properly logging out, until the session expires based on time out, such users sessions will show as "active" users.
However the challenge is – that since PeopleSoft uses WebServer technology - if a user has closed a session without properly logging out, until the session expires based on time out, such users sessions will show as "active" users.
Alternatively, the following queries and methods can be used to find out the current logged in users:
- The following query will list all the users in the current database(not just those logged in from PIA): SELECT sid,
serial#,
username,
terminal,
program
FROM v$session
WHERE username IS NOT NULL; - From the Tuxedo command line on the application server, enter 'pclt'. It will return the users that are currently on the system.
- The following query will list all the PIA users through PSACCESSLOG record: SELECT DISTINCT oprid,
logipaddress,
To_char(logindttm, 'YYYY-MM-DD:hh:mi:ss') logintime,
To_char(logoutdttm, 'YYYY-MM-DD:hh:mi:ss') logoutime,
To_char(( SYSDATE ), 'YYYY-MM-DD:hh:mi:ss') currtime
FROM psaccesslog
WHERE To_date(SYSDATE) - To_date(logindttm) >= 0
AND To_date(logoutdttm) - To_date(SYSDATE) >= 0;
To find out the total number of List of Users Currently Logged into PIA at the moment run the below SQL Query:
SELECT COUNT(nr) users_number
FROM (SELECT COUNT(oprid) AS nr
FROM psaccesslog
WHERE To_date(SYSDATE) - To_date(logindttm) >= 0
AND To_date(logoutdttm) - To_date(SYSDATE) >= 0
GROUP BY oprid);
FROM (SELECT COUNT(oprid) AS nr
FROM psaccesslog
WHERE To_date(SYSDATE) - To_date(logindttm) >= 0
AND To_date(logoutdttm) - To_date(SYSDATE) >= 0
GROUP BY oprid);
Deleting the PSACCESSLOG table does not result in any harm. However, once the PSACCESSLOG table is deleted and to track Users' login and logout activity again, the table must be recreated using the same exact column names and order as were in the previous PSACCESSLOG table: OPRID, LOGIPADDRESS, LOGINDTTM, LOGOUTDTTM.
Note:
No comments
Please refrain for marketing messages and unnecessary back links.