Kill idle E-Business Suite application users
                                                 Last update (2008-06-14 20:46:21)
                                                                                                                   Date added (2008-03-03 10:44:41)

Summary
Sometimes users login to E-Business Suite, do some work and just leave the forms open staying idle for a long time.

If Oracle Apps client is not doing any activity for some time session during that time is called as Idle Session & because of security reason, performance issues and to free up system resource Oracle Applications terminates client session( both forms & self service) after idle time value is reached to the one mentioned in configuration file.

From FND.G or 11.5.9 or with introduction of AppsLocalLogin.jsp to enter into application, profile option "ICX Session Timeout" is used only to determine Forms Session Idle timeout value . This might be confusing as earlier this profile option used to control forms as well as self service application(with session.timeout) session.timeout is used to control Idle session timeout for Self Service Applications (Served by Jserv via JVM).

But sometimes all this session timeout mechanism doesn't work perfect, if you want to manually kill all Form sessions idle for 3 hours execute the following.
SELECT 
DECODE(TRUNC(SYSDATE - LOGON_TIME), 0, NULL, TRUNC(SYSDATE - LOGON_TIME) || ' Days' || ' + ') || 
TO_CHAR(TO_DATE(TRUNC(MOD(SYSDATE-LOGON_TIME,1) * 86400), 'SSSSS'), 'HH24:MI:SS') LOGON, 
v$session.SID, v$session.SERIAL#, v$process.SPID spid, v$session.process unix_appl,
v$session.USERNAME, STATUS, OSUSER, MACHINE, v$session.PROGRAM, MODULE, action, SQL_HASH_VALUE,  
'alter system kill session ' || '''' || v$session.SID || ', ' || v$session.SERIAL# || '''' || ' immediate;' kill_sql   
FROM v$session, v$process
WHERE v$session.paddr = v$process.addr 
AND v$session.status = 'INACTIVE' 
AND v$session.username = 'APPS'
AND v$session.last_call_et/3600 > 3
AND v$session.action LIKE 'FRM%'
--AND v$session.module in ('INVTTMTX','INVTVQOH','INVTOTRX')
ORDER BY logon_time ASC;
Other links
Kill oracle idle session because of security reason
Kill fast oracle sessions in Unix - Linux while shutdown
Reviews
Filters
Search