Oracle Technologies Blog

By ASKM

Posts Tagged ‘bind’

R12 – Concurrent Program Tracing

Posted by Srikrishna Murthy Annam on September 25, 2009

Concurrent Program Tracing :

Reference Note : 296559.1

CASE 1 : Concurrent Program Tracing without bind variables
1) Follow the following navigation to enable logging for conc prog
Goto Sysadmin > Concurrent > Program > Define
Query the concurrent program
Check the trace box to enable trace
2) Execute the concurrent program using the following navigation and note down the request id
3) Collect the trace file using the script provided here

CASE 2: Concurrent Program Tracing with bind variables and waits
1) Note down the following values

SELECT value FROM v$parameter WHERE name = ‘max_dump_file_size’;
SELECT value FROM v$parameter WHERE name = ‘timed_statistics’;

2) Execute the following commands as sysdba

ALTER SYSTEM SET max_dump_file_size = unlimited;
ALTER SYSTEM SET timed_statistics = true;
ALTER SYSTEM SET EVENTS ‘10046 trace name context forever, level 12’;

3) Execute the concurrent program using the following navigation and note down the request id
4) Collect the trace file using the script provided here
5) Turn off tracing the reset the values

ALTER SYSTEM SET EVENTS ‘10046 trace name context off’;
ALTER SYSTEM SET max_dump_file_size = <value from step 1>;
ALTER SYSTEM SET timed_statistics = <value from step 1>;

CASE 3:
Enabling the trace for a concurrent request for which you donot have privileges to run the concurrent Request.

1) Ask the person who is privileged to run the concurrent program and get the request id ‘xxxxx’
2) Get the oracle_process_id for that concurrent request.

SQL>select request_id,oracle_process_id from fnd_concurrent_requests where request_id in (‘xxxxxxx’);

3) Now get the session details ( SID and Serial ) using value obtained from step 2

col “SID/SERIAL” format a10
col username format a15
col osuser format a15
col program format a40
select s.sid || ‘,’ || s.serial# “SID/SERIAL”
, s.username
, s.osuser
, s.status
, p.spid “OS PID”
, s.inst_id
, s.module
from sys.gv_$session s
, sys.gv_$process p
Where s.paddr = p.addr
and s.inst_id = p.inst_id
and p.spid=&value_from_step2
order by to_number(p.spid);

4) Execute the following command to enable the trace :

SQL> EXECUTE dbms_support.start_trace_in_session (&SID,&SERIAL,binds=>true,waits=>true);

NOTE : You need to run this command on the corresponding rac node, inst_id from step3)
5) Collect the trace from udump location and investigate the issue.

Advertisements

Posted in Oracle Apps R12 | Tagged: , , , , , , | 1 Comment »

 
%d bloggers like this: