Queries Arsenel for Oracle Apps DBA - Part 9
**********************************************************
FORMS RUNAWAY SESSIONS
**********************************************************
--Dealing with Forms Runaway session
-- On Web tier, With the help of prstat -a check if any session is unusally running for long hours
--do ps -ef
grep 20034 to check if this is from session or not
--Run strace on pid strace –p
--$ strace -p 20034Process 20034 attached - interrupt to quit
--read(47, 0xaffcc2e, 2064) = -1 EAGAIN (Resource temporarily unavailable)
--read(47, 0xaffcc2e, 2064) = -1 EAGAIN (Resource temporarily unavailable)
--read(47, 0xaffcc2e, 2064) = -1 EAGAIN (Resource temporarily unavailable)
--read(47, 0xaffcc2e, 2064) = -1 EAGAIN (Resource temporarily unavailable)
--read(47, 0xaffcc2e, 2064) = -1 EAGAIN (Resource temporarily unavailable)
--read(47, 0xaffcc2e, 2064) = -1 EAGAIN (Resource temporarily unavailable)
--read(47, 0xaffcc2e, 2064) = -1 EAGAIN (Resource temporarily unavailable)
--Note: Some times strace output will ECONN (Connection refused ) instead of EAGAIN ( Resource temporarily unavailable)
--in such situation also you can kill the process if you get output similar to above you can kill the process
--$ kill -9 20034
--Run following sql and when asks for CleintPId give forms runaway (f60webmx process pid)
select s.sid, s.serial#, '*'
s.process
'*' Client,
p.spid Server, s.sql_address, s.sql_hash_value,
s.username, s.program
s.module, s.action, s.terminal,
s.machine, s.status, s.last_call_et/3600
from v$session s, v$process p
where p.addr=s.paddr and
nvl(s.process,-1) = nvl('8657',nvl(s.process,-1));
--If output of above query is null then from session has no contact with database means its just a runaway process
--with no respective session on database. It confirms about runaway session. Kill it on OS.