Tried to cancel some long running requests in my environment and faced the issue 'Could not lock request'. Below are the steps I followed to fix this issue and to cancel those long running/hanging requests.
****************************நன்றி****************************
SELECT inst_id,
DECODE(request,0,'Holder: ','Waiter: ')||sid sess, id1, id2, lmode, request,
type FROM GV$LOCK WHERE (id1, id2, type) IN (SELECT id1, id2, type
FROM GV$LOCK WHERE request>0) ORDER BY id1, request;
Set Pages 1000 lines 1000
Set head on
Column Manager Format A12
Column Request Format 999999999
Column Program Format A30
Column User_Name Format A15
Column Started Format A15
Column FNDLIBR Format A9
prompt Managers that is running a request
and FNDLIBR PROCESS;
select substr(Concurrent_Queue_Name, 1, 12)
Manager,
Request_Id Request,
User_name,
Fpro.OS_PROCESS_ID "FNDLIBR",
substr(Concurrent_Program_Name, 1, 35) Program,
Status_code,
To_Char(Actual_Start_Date, 'DD-MON-YY HH24:MI') Started
from
apps.Fnd_Concurrent_Queues Fcq,
apps.Fnd_Concurrent_Requests Fcr,
apps.Fnd_Concurrent_Programs Fcp,
apps.Fnd_User Fu,
apps.Fnd_Concurrent_Processes Fpro
where
Phase_Code = 'R' And Status_Code <> 'W' And
Fcr.Controlling_Manager = Concurrent_Process_Id and
(Fcq.Concurrent_Queue_Id = Fpro.Concurrent_Queue_Id and
Fcq.Application_Id = Fpro.Queue_Application_Id) and
(Fcr.Concurrent_Program_Id = Fcp.Concurrent_Program_Id and
Fcr.Program_Application_Id = Fcp.Application_Id) and
Fcr.Requested_By = User_Id and
Fcr.request_id =&request_id;
select ses.sid,
ses.serial#
serial#,
proc.spid,
ses.sql_id,
ses.process,
ses.last_call_et,
ses.event
from
gv$session ses, gv$process proc
where
ses.paddr = proc.addr and ses.process in ('&process_ID');
I can see that you are an expert at your field! I am launching a website soon, and your information will be very useful for me.. Thanks for all your help and wishing you all the success in your business. Slot kapot Nieuwegein
ReplyDeleteThanks It helped me :)
ReplyDelete