Thursday 10th of April 2025 10:21:21 PM
IdentifyAppsUserProcess | User's Status in the ICX_SESSIONS Table | profile option ICX:SessionTimeout |
sessionTimeout | ICX_FORMS_LAUNCHER -query |
Oracle E-Business Suite 11i
1. Autoconfig variable s_oc4j_sesstimeout
2. Profile ICX:Session Timeout
Check the file: $ORA_CONFIG_HOME/10.1.3/j2ee/oacore/application-deployments/oacore/html/orion-web.xml where the value is maintained. The two values should be the same: autoconfig variable: s_sesstimeout profile option: ICX:Session Timeout
set lines 400; col profile_option_value format a25
|
col timeout format a8 col user_name format a10 col mins_idle format 999.99 select disabled_flag, to_char(first_connect,'MM/DD/YYYY HH:MI:SS') Start_Time, to_char(sysdate,'HH:MI:SS') Current_Time, USER_NAME, session_id, (SYSDATE-last_connect)*24*60 Mins_Idle, fnd_profile.value_specific ('ICX_SESSION_TIMEOUT', a.user_id, a.responsibility_id, a.responsibility_application_id, a.org_id, NULL ) TimeOut from ICX_SESSIONS a, fnd_User b where a.user_id=b.user_id and last_connect > sysdate-1/24; |
col timeout format a8 col user_name format a10 col mins_idle format 999.99 select disabled_flag, to_char(first_connect,'MM/DD/YYYY HH:MI:SS') Start_Time, to_char(sysdate,'HH:MI:SS') Current_Time, USER_NAME, session_id, (SYSDATE-last_connect)*24*60 Mins_Idle, fnd_profile.value_specific ('ICX_SESSION_TIMEOUT', a.user_id, a.responsibility_id, a.responsibility_application_id, a.org_id, NULL ) TimeOut from ICX_SESSIONS a, fnd_User b where a.user_id=b.user_id and user_name='&USER_NAME_IN_UPPER_CASE'; |
The session timeout query is meant to be run again and again to confirm that a user's activity is being counted and can also be used for determining what activity is counted against the idle timeout and what is not.
For example, when practicing with this you may note that when a user is within core forms the ICX_SESSIONS table is not updated with every single click.
Instead, the update is made only if at least one minute has passed since the last update. The session begins when the user logs into applications using the supported "AppsLogin" method, but there is no session created (and therefore never a timeout window) when logging in directly via the unsupported "/dev60cgi/f60cgi" URL.
Column Specifics
D - The disabled flag. If this is set to 'Y', then the session has been explicitly disabled, such as from a user logging out. If this is 'N', then the session is not disabled.
START_TIME - The time of day the user first logged in.
CURRENT - The current time of day; useful when running the query repeatedly as this timestamps each query run.
USER_NAME - The login name of the user.
SESSION_ID - The session ID of the user. This can be confirmed from forms using the following navigation from the "System Administrator" responsibility:
- Help/Diagnostics/Examine
- - Block:$PROFILES$
- - Field: ICX_SESSION_ID
- - Value: Click this field for the value to appear
(The value of my session_id=469704674 as seen in the above Detector1 query result)
MINS_IDLE - The perceived number of minutes that the user has been idle.
TIMEOUT - The value of "ICX:Session Timeout" for the specific user
The query, as written, will dump a listing of all users that have connected within the last hour. If different users have different values for "ICX: Session Timeout", then this will be immediately apparent.
select SITE_ENABLED_FLAG, APP_ENABLED_FLAG, RESP_ENABLED_FLAG, USER_ENABLED_FLAG, ORG_ENABLED_FLAG, SERVER_ENABLED_FLAG, SERVERRESP_ENABLED_FLAG from fnd_profile_options where upper(profile_option_name) = 'ICX_SESSION_TIMEOUT'; |
Setting ICX_SESSION_TIMEOUT to correspond to Jserv Session Timeout set_profile(178, 'ICX_SESSION_TIMEOUT', 10001, 0, '%s_sesstimeout%'/(1000*60), NULL); |
Here is some additional information regarding timeouts within 11i Apps, specifically for the zone.properties and the profile option. session.timeout=600000 This is Apache Jserv Session timeout and should not be any higher than 30 minutes. Longer idle sessions will drain the JVM resources and can also cause out of memory errors.
2. Login into Oracle Applications as SYSADMIN and search for profile ICX:Session Timeout; set this Profile Option to the same value as the one specified by session.timeout in zone.properties. This is session timeout limit for Self Service Framework Applications and is specified in minutes. If the ICX session expires before the Jserv session, the user will be presented with a login page even though the Jserv session is still active. If the user logs back in before the Jserv session expires, they will see the old state of their middle-tier transaction. This can be confusing, since from the point of view of the user there is no distinction between the ICX session and the Jserv session
|
ICX: Limit time
ICX: Session timeout
The 2 profile options do the following: "ICX: Limit time" = 8 >> This means that a session will last for 8 hours. After that time the session will be closed "ICX:Session Timeout" = 180. This means that after 3 hours of inactivity the session will be timed out. |
ICX: Session Timeout | controls the time of inactivity of the session. If set to 30 minutes, then after no activity for 30 minutes you will get the popup window. | This is for the Forms Session. |
ICX:Limit Time | controls the total time a session can be logged in. If set to 8 hours, then after 8 hours you will get the popup window regardless of what activity is being done | This is for the Forms Session. |
ICX:Limit connect | is a profile option determines the max number of connection requests a user can make in a single session. If a user sends more requests than the value specified by this profile option in a single session, then the session will expire. This needs to be bumped up to 2000 +, because each time Session Time is checked it adds another ICX connection. This IS NOT DETERMEND BY THE NUMBER OF USER CONNECTIONS. The more ICX checks its self the more ICX connections you are going to see for a user. |
|
Session.timeout is set under the Apache's zone.properties | This should be set to default which is 1800000. Anything higher can result in performance and out of memory errors. Typically session.timeout and ICX:Session Timeout are set to the same value. |
|
FORMS60_TIMEOUT = 5 | Check .env for this. This is used to clean up and terminate the Forms Processes. The higher this variable is set, the longer the Forms processes will take to be cleaned up. |
|
Heartbeat = 2 | check $OA_HTML/bin/appsweb.cfg and or appsweb_<sid>_<host>.cfg. This is used to send a packet to the Server to indicate it is still active. |
The following are the best practice setup 1. Profile Options: ICX: Session Timeout = 30 ICX:Limit Time = 12 ICX:Limit connect = 2000 |
2. Apache zone.properties: session.timeout = 1800000 Under Apache_Top: |
3. Modify the $FORMS60_WEB_CONFIG_FILE, which points to the appsweb_host_sid.cfg file: Under OA_HTML/bin: |
5. If using Forms servlets check the following: Check formservlet.ini in Apache for FORMS60_TIMEOUT=5 $ grep -i forms60_timeout formservlet.ini Note: There can be two different errors that affect the FROMS60_TIMEOUT and the heartbeat. If there are Intermittent FRM-92100 type errors it is due to the heartbeat being to high and timing out. So the heartbeat setting will need to be adjusted to suit your needs. If the FORMS60_TIMEOUT is set to a higher value you may see run away f60webmx processes. If there are run away f60webmx or f60webmx processes not terminating, then return the FORMS60_TIMEOUT to the default value of 5 and retest. |
---------------------------------------------------------------------- You have to pass the UNIX process id to this script. ------------------------------------Cut here-------------------------- column "User Name" format a10 column "ClPID" format a8 select d.user_name "User Name", b.sid SID,b.serial# "Serial#", c.spid "srvPID", a.SPID "ClPID", to_char(START_TIME,'DD-MON-YY HH:MM:SS') "STime" from fnd_logins a, v$session b, v$process c, 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) and a.SPID = &PID / -----------------------------Script ends here-------------------------- |
OC4J session timeout, if not set, defaults to 20 minutes. This will cause the oc4j session to timeout
2. Ensure that value of profile option "ICX: Session Timeout" and autoconfig variable "s_oc4j_sesstimeout" in context file match. In case you need the session to timeout after 2 hrs then the profile option "ICX: Session Timeout" and autoconfig variable "s_oc4j_sesstimeout" should be set to 120 3. Run autoconfig
|
Changed the s_oc4j_sesstimeout to 2700000 (45 * 60 * 1000) Change the s_oc4j_sesstimeout changed from 2700000 to 45 minutes in the $CONTEXT_FILE In R12 the session-timeout (s_oc4j_sesstimeout) is expressed in minutes in In R11i the session.timeout is represented in mili-seconds
1. Change the s_oc4j_sesstimeout changed from 2700000 to 45 minutes in the $CONTEXT_FILE |
a) Set "ICX: Session Timeout" profile option value 3. Increase the JVM heap size to 512/1024 depending on the current value in the configuration file 1. Increase heap size of both concurrent program and oacore process.
To Increase Heap Size of concurrent program: 1. Navigate to the form System Administrator > Concurrent > Program > Define This specifies the maximum and initial heap sizes: To Increase Heap Size of oacore process: 1. Locate the file $ORA_CONFIG_HOME/10.1.3/opmn/conf/opmn.xml 2. In the file, If the report still fails with the java heap space errors, change parameter Maximum heap size to -Xmx1024M or -Xmx2048m based on your hardware compatibility |
elect p.profile_option_name SHORT_NAME, n.user_profile_option_name NAME, decode(v.level_id, 10001, 'Site', 10002, 'Application', 10003, 'Responsibility', 10004, 'User', 10005, 'Server', 10007, 'SERVRESP', 'UnDef') LEVEL_SET, decode(to_char(v.level_id), '10001', '', '10002', app.application_short_name, '10003', rsp.responsibility_key, '10005', svr.node_name, '10006', org.name, '10004', usr.user_name, '10007', 'Serv/resp', 'UnDef') "CONTEXT", v.profile_option_value VALUE from fnd_profile_options p, fnd_profile_option_values v, fnd_profile_options_tl n, fnd_user usr, fnd_application app, fnd_responsibility rsp, fnd_nodes svr, hr_operating_units org where p.profile_option_id = v.profile_option_id (+) and p.profile_option_name = n.profile_option_name and upper(n.user_profile_option_name) like upper('%FND%DEBUG%') and usr.user_id (+) = v.level_value and rsp.application_id (+) = v.level_value_application_id and rsp.responsibility_id (+) = v.level_value and app.application_id (+) = v.level_value and svr.node_id (+) = v.level_value and org.organization_id (+) = v.level_value order by short_name, level_set; |
© 2007-2025 LMU. All rights reserved.