close
今天有一個Concurrent Requests:Cost Rollup出現紅色的Error,Log的訊息如下:
MSG-00000: Before exploder 2014/11/19 10:37
MSG-00000: Group Id: 1548433
MSG-00000: Calling compute low level codes
MSG-00000: After exploder 2014/11/19 10:45
MSG-01999: 29: CST_LOCK_FAILED_CIC
REP-1825: Before Report trigger returned FALSE.

同事說應該是有無法Lock相關物件(CST_LOCK_FAILED_CIC),所以先執行下列的語法查詢:
select * from v$locked_object a , dba_objects b
where a.object_id=b.object_id and object_name like 'CST%';

發現有幾個CST開頭的表格正在Lock,而Session ID都是1726,於是再查SID 1726的狀態:
select vs.sid,vs.serial#,vp.spid,vs.*,vp.*
from v$session vs,v$process vp
where vp.addr=vs.paddr and vs.sid in (1726);

查詢得知1726是一個Concurrent Request的Session,再執行下列的查詢語法:
select vs.sid "Session_SID"
,vs.serial# "Session Serial#"
,vp.spid "OS PID"
,fcp.user_concurrent_program_name "Concurrent Name"
,fcr.request_id
,fcr.actual_start_date "Start Time"
,fcr.actual_completion_date "Finish Time"
,(fcr.actual_completion_date-fcr.actual_start_date)*24*60*60 "Expense Time(second)"
,decode(fcr.phase_code,'R','Running',
'C','Completed','P','Pending','I','Inactive') "Request Status"
,decode(fcr.status_code,'A','Waiting','B','Resuming','C','Normal',
'D','Cancelled','E','Error',
'F','Scheduled','G','Warning','H','On Hold','I','Normal','M','No Manager',
'Q','Standby','R','Normal','S','Suspended','T','Terminating','U','Disabled',
'W','Paused','X','Terminated','Z','Waiting') "Request Phase"
from v$session vs
,v$process vp
,fnd_concurrent_requests fcr
,fnd_concurrent_programs_tl fcp
where vs.paddr=vp.addr
and vs.process=fcr.os_process_id
and fcr.concurrent_program_id=fcp.concurrent_program_id
and fcr.phase_code='R' --running
and vs.sid = 1726 ; --Session SID

但是卻傳回空的資料,換句話說就是有Session,而沒有running的concurrent request,
於是登入EBS,在administor的Requests查詢今天有執行過的Cost Rollup,
發現產生Error的Cost Rollup前幾分鐘有一個被使用者取消的Cost Rollup,
可能就是這個原因,本來想要強制刪除Session 1726,但是重新查詢發現Session 1726已經綀束了,
所以請使用者重新執行Cost Rollup,這次就成功了。
arrow
arrow
    全站熱搜

    keven 發表在 痞客邦 留言(0) 人氣()