EBS。無法取消Request,error:Could not lock request

今天的RPM Remote Print Manager突然卡住,把Windows重開後恢復正常,但是EBS上的Request卻發生問題。

手動取消Request時出現下圖的錯誤:Could not lock request


無法取消就只能執行SQL來取消Request,因為該Request的Session已經完成,於是執行下列的SQL來修改狀態:
update  fnd_concurrent_requests set phase_code='C',status_code='X' where request_id in (186153,186133);

等了三分多鐘還沒有完成,只updtae兩筆資料不應該會等這麼久,於是再開另一個Toad並執行下列檢查Lock的SQL:
select distinct vs.sid,vs.serial#,            vs.username,vs.status,vs.osuser,vs.process,vs.machine,vs.terminal,vs.program,vs.sql_address,
vs.module, vs.logon_time,vs.blocking_session,vl.block as "Lock BLOCK",vq.sql_text
    from v$session vs,v$lock vl ,v$sql vq
    where vl.sid=vs.sid
   and vq.sql_id=vs.sql_id
    and vs.blocking_session in (select sid from v$lock where block>0)   
union
select distinct vs.sid,vs.serial#,vs.username,vs.status,vs.osuser,
vs.process,vs.machine,vs.terminal,vs.program,vs.sql_address,vs.module,
            vs.logon_time,vs.blocking_session,
           vl.block as "Lock BLOCK",
           vq.sql_text
    from v$session vs,v$lock vl,v$sql vq
    where vl.sid=vs.sid
    and vq.sql_id=vs.sql_id
    and vl.block>0 
order by  logon_time;

發現update的session被另一個session卡住,等待事件是SQL*Net message from client,猜測應該是當時RPM程式卡住造成沒有回應。

所以Request被卡住無法更新訊息,把Lock的Session kill掉之後, 本來想由EBS來取消Request,結果出現下列的錯誤:



只好重新執行update Request的SQL,來更新狀態就成功了。
update  fnd_concurrent_requests set phase_code='C',status_code='X' where request_id in (186153,186133);

利用Plink替代Putty來建立Script