Skip to main content

Hi, in IFS we can see who is presently connected, but is there a way to list all the users who connected IFS within the last 4 weeks for statistics purpose and better license management ?

Hi @ludovic.rougean,

Following query may be useful.   

select distinct directory_id from fnd_client_logon t where t.session_created > to_date('20210406', 'YYYYMMDD') 

For this 20210406 date, you may include the starting date.


Hi !

Thanks for this idea, however it does not provide me an history, If I remove the Where clause I anyway get only 56 lines which may correspond to the users that connected in the past 2 days. I launched the query with a super admin account.


Hi,

It is best if you install a custom Oracle based logon trigger for capturing the required historical information and store it in a custom table for reporting purposes. 


Hi @ludovic.rougean ,

Yeah, that’s right. Normally an oracle table "FND_CLIENT_LOGON_TAB" gets and entry when an user successfully login to IFS Application. And that gets cleared when the user gets off from the application. From there, you can identify currently active users, but if the users have logged and exited correctly, that would not be included in that query. 

But in database side, you will be able to get more information from Oracle queries specially if you enable auditing.
https://docs.oracle.com/en/database/oracle/oracle-database/18/dbseg/configuring-audit-policies.html#GUID-A215CCAF-4AFF-448A-909C-736EBDED5A8A
 

 SELECT  MAX(TIMESTAMP), A.USERNAME FROM DBA_AUDIT_TRAIL A WHERE ACTION_NAME = 'LOGON'
GROUP BY USERNAME ORDER BY 1 DESC;

 

Further there is a column called last_login in dba_users table. If you query that table, you will be able to get more information about users who may not frequently login as well. 


Hi @ludovic.rougean ,

 

You can find the relevant information in below places. Please check.

 

 

 

It can create a custom event from IEE or table from DB level to collect user details If these default are not sufficient.

 

Best regards,

Darshana

 


Hi, ok thanks to all of you. I ll propose that to my IT team.


Hi @ludovic.rougean 

All the above answers are to monitor the presently connected users but I hope you need a solution to get the user's history logging. However, you can set the Oracle level auditing to achieve your requirement. but this grabs space on the SYSTEM tablespace so you better have sufficient space on it and better to disable it once you have a pattern on the user logging history because having more space on the SYSTEM tablespace might have some inverse reaction on the performance of the database. So we recommend disabling this feature after a couple of weeks or a month.
 
Oracle Auditing.
----------------------
Every time a user attempts anything in the database where audit is enabled the Oracle kernel checks to see if an audit record should be created or updated and generates the record in a table owned by the SYS user called AUD$. This table is, by default, located in the SYSTEM tablespace.
 
The following three types of audits are provided by Oracle
1. Session audits (LOGON, LOGOFF, etc)
2. Database action and object audits and
3. DDL(CREATE, ALTER & DROP of objects)
To enable database auditing, you must provide a value for the AUDIT_TRAIL parameter. Auditing is disabled by default but can be enabled by setting the AUDIT_TRAIL static parameter with the following allowed values.
AUDIT_TRAIL = { none | os | db | db,extended | xml | xml,extended }
 
DB - Auditing is enabled. Audit records will be written to the SYS.AUD$ table.
OS - Auditing is enabled. Audit records will be written to an audit trail in the operating system.
> Enable auditing and direct audit records to the database audit trail
  (ALTER SYSTEM SET audit_trail=db SCOPE=SPFILE;)
 
Please follow the below link for more information
https://docs.oracle.com/cd/E11882_01/server.112/e10575/tdpsg_auditing.htm#TDPSG50522
 
I hope the above information will satisfy your concern. 


Hi

 

The function Get_Last_Activity fetches the above mentioned column last_login from dba_users table. 

SELECT IDENTITY, DESCRIPTION, &AO.Fnd_User_API.Get_Last_Activity(IDENTITY)
FROM &AO.FND_USER

Is there any weaknesses/inconsistencies running the above? I’m asking since this is one of the things we are doing to keep track of user logins in IFS9.

 

BR

Johan Lindström


Hi

Can anyone describe on what condition there are records inserted and deleted from that table?

We put a history log on this and even though i’m working all the day with IFS App open, there is a couple of insertion (with USERNAME of real username) and deletion (with USERNAME ‘IFSAPP’) within a day. Sometimes there is insertion at time of deletion, but usually those periods don’t overlap, so it looks like someone is loging off from IFS many times per day, but it’s not the case.

What is a mystery behind?

/Wiktor   


Quick question,

Is there a possibility to use an identical functionality to log Aurena logged users?

/Sonal