/*请求Output和Log存放的路径查询 */
SELECT T.LOGFILE_NAME,T.OUTFILE_NAME FROM FND_CONCURRENT_REQUESTS T WHERE T.REQUEST_ID = '1369499';
/*如果要对FORM的操作做TRACE操作,可以使用 帮助->诊断->跟踪 中启用跟踪功能来实现。
但是如果要实现对并发请求的trace,需要在 系统管理员->并发->方案->定义 里找到对应的并发请求,并勾选”启用跟踪”项。然后提交这个并发请求,系统就会生成并发请求的trace文件。一个复杂的并发请求,会生成一个很大的trace文件,所以在做完trace后,记得勾除并发请求的“启用跟踪”项。
用如下的SQL来实现查找并发请求的TRACE文件:*/
SELECT 'Request id: ' || Request_Id
,'Trace id: ' || Oracle_Process_Id
,'Trace Flag: ' || Req.Enable_Trace
,'Trace Name:' || Dest.Value || '/' || Lower(Dbnm.Value) || '_ora_' || Oracle_Process_Id ||
'_ANONYMOUS.trc'
,'Prog. Name: ' || Prog.User_Concurrent_Program_Name
,'File Name: ' || Execname.Execution_File_Name || Execname.Subroutine_Name
,'Status : ' || Decode(Phase_Code, 'R', 'Running') || '-' ||
Decode(Status_Code, 'R', 'Normal')
,'SID Serial: ' || Ses.Sid || ',' || Ses.Serial#
,'Module : ' || Ses.Module
FROM Fnd_Concurrent_Requests Req
,V$session Ses
,V$process Proc
,V$parameter Dest
,V$parameter Dbnm
,Fnd_Concurrent_Programs_Vl Prog
,Fnd_Executables Execname
WHERE Req.Request_Id = &Request_Id
AND Req.Oracle_Process_Id = Proc.Spid(+)
AND Proc.Addr = Ses.Paddr(+)
AND Dest.Name = 'user_dump_dest'
AND Dbnm.Name = 'db_name'
AND Req.Concurrent_Program_Id = Prog.Concurrent_Program_Id
AND Req.Program_Application_Id = Prog.Application_Id
AND Prog.Application_Id = Execname.Application_Id
AND Prog.Executable_Id = Execname.Executable_Id
/*EBS 单实例上所有正在运行的并发请求以及请求目前的状态*/
SELECT w.Seconds_In_Wait "Secondswait"
,w.Event "waitEvent"
,w.P1 || Chr(10) || w.P2 || Chr(10) || w.P3 "Session Wait"
,p.Spid || Chr(10) || s.Process "ServerClient"
,s.Sid || Chr(10) || s.Serial# || Chr(10) || s.Sql_Hash_Value "SidSerialSQLHash"
,u.User_Name || Chr(10) || Phase_Code || ' ' || Status_Code || Chr(10) || s.Status "DBPhaseStatusCODEUser"
,Request_Id || Chr(10) || Priority_Request_Id || Chr(10) || Parent_Request_Id "Request_id"
,Concurrent_Program_Name
,User_Concurrent_Program_Name
,Requested_Start_Date || Chr(10) || Round((SYSDATE - Requested_Start_Date) * 1440, 2) || 'M' "RequestStartDate"
,Argument_Text
,Concurrent_Queue_Id
,Queue_Description
FROM Fnd_Concurrent_Worker_Requests
,Fnd_User u
,Gv$session s
,Gv$process p
,Gv$session_Wait w
WHERE (Phase_Code = 'R')
AND Hold_Flag != 'Y'
AND Requested_Start_Date <= SYSDATE
AND ('' IS NULL OR ('' = 'B' AND Phase_Code = 'R' AND Status_Code IN ('I', 'Q')))
AND '1' IN (0, 1, 4)
AND Requested_By = u.User_Id
AND s.Paddr = p.Addr
AND s.Sid = w.Sid
AND Oracle_Process_Id = p.Spid
AND Oracle_Session_Id = s.Audsid
ORDER BY Requested_Start_Date;