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
ReplyDelete