There are 3 settings which control session timeout in R12 including 12.2:
Site Level Profile Options:
ICX: Limit Time --hours
ICX: Session Timeout --minutes
<session_timeout oa_var="s_sesstimeout">1800000</session_timeout> --milliseconds
The defaults are 4 hours for ICX: Limit Time, 30 minutes for ICX: Session Timeout and 1800000 milliseconds for s_sesstimeout. The value for s_sesstimeout in milliseconds must match ICX: Session Timeout.
The ICX: Limit Time will terminate a session after the limit is reached no matter what they are doing. The user could be heads down entering transactions all morning and at 4 hours will be terminated. This is not ideal behavior so I recommend increasing ICX: Limit Time to 10 or 12 hours to at least allow users to get through a shift.
The session timeout of 30 minutes in my opinion is too low because users get terminated for going to a quick meeting. If I have to close my browsers and log back into production 8-10 times a day it is a huge drag on efficiency as you describe. The infrastructure cost of having more idle sessions sitting on the web and database server is much less than the annoyance to users forced to log back into Oracle all day long to do their job. I set the Session Timeout to anywhere between 1 hour and 4 hours, and usually 10 hours in non prod clones.
Then ICX: Session Timeout => 600
This recommendation will likely be an outlier from what others are doing but I feel IT shouldn't be an impediment to getting work done. It is batch jobs, active forms sessions and runaway frmweb processes which consume resources anyway. Having a low session timeout will not prevent runaway frmweb sessions from using 100% CPU either.
i think you can check FND_LOGINS, FND_SESSIONS and v$session. I think combination of these 3 tables might throw some light. In my knowledge there is no clear cut way/tables where it keeps session_idle information.
Hi mdtaylor, thanks for your reply.
The only point that I would like is to see if the session idle time can be measured vs just setting it to a arbitrary number. But your feedback for sure is valuable pointing out the various settings
will check these areas, and if it contains the information I am looking for, will see if we can create a program that can store the information for selected users during a framed period of time so hat I can change the session idle time to meet business expectation
Session idle time trackers are client side APIs that run in the local browsers and java applets. Oracle is not sending each wait or idle state back into a table on the database server. If it did, large enterprises would bog down as thousands of users hit the system and wait events started pouring back into the database. If anything was written back, it would be start of session and end of timeout, which would just be 30 minutes after last activity if you don't change the timeout. If you want to measure this, you would have to create some logic to track it and record it. It would be easier to do this in CUSTOM.pll rather than OAF pages most likely.
Hi Michael, thanks for this I will look into your suggestion.