Terminate Runway Process Of Cancel Concurrent Request
Even after cancel concurrent request, Resource related concurrent request process may not be released such processes are called RUNWAY processes. So we need to manually kill the processes from database.
Concurrent request id:
Find OS Process id:
In my case: Request_id=32565148
select a.request_id, d.sid, d.serial# ,d.osuser,d.process , c.spid ,d.inst_id from apps.fnd_concurrent_requests a, apps.fnd_concurrent_processes b, gv$process c, gv$session d where a.controlling_manager = b.concurrent_process_id and c.pid = b.oracle_process_id
and b.session_id=d.audsid and a.request_id = 32565148 and a.phase_code = 'R';
Output:
REQUEST_ID SID #SERIAL OSUSER PROCESS SPID INST_ID
32565148 1049 1797 oracle 6880 19922 1
Check runways:
In my case: Process=6880
select s.sid , s.serial# from v$session s , v$process p where s.paddr = p.addr and s.process ='6880';
Output:
SID #SERIAL
1049 1797
Kill runaway process:
alter system kill session '1049,1797';
or
How to kill long running/hang concurrent request
SELECT ses.sid, ses.serial# from v$session ses, v$process pro WHERE ses.paddr = pro.addr and pro.spid IN (SELECT oracle_process_id FROM fnd_concurrent_requests WHERE request_id =11613265);
You will get spid & pid from above request. Pass your request id in above query. And run below query with sys user.
SQL> ALTER SYSTEM KILL SESSION ' 1114, 8017' IMMEDIATE;
System altered.
No comments:
Post a Comment