Hello Friends, As in Oracle Application, there always need to tune programs , procedure and it is always difficult to make a perfect program, here i am trying to put a “How to” on tkprof and surely like to know if you find it useful.
How to Trace a Concurrent Request And Generate TKPROF File
Enable Tracing For The Concurrent Manager Program
-
Responsibility: System Administrator
-
Navigate: Concurrent > Program > Define
-
Query Concurrent Program
-
Select the Enable Trace Checkbox
Turn On Tracing
-
Responsibility: System Administrator
-
Navigate: Profiles > System
-
Query Profile Option Concurrent: Allow Debugging
-
Set profile to Yes
Run Concurrent Program With Tracing Turned On
-
Logon to the Responsibility that runs the Concurrent Program
-
In the Submit Request Screen click on Debug Options (B)
-
Select the Checkbox for SQL Trace
2. Find Trace File Name
Run the following SQL to find out the Raw trace name and location for the concurrent program. The SQL prompts the user for the request id
3. TKPROF Trace File
Once you have obtained the Raw trace file you need to format the file using TKPROF.
$tkprof raw_trace_file.trc output_file explain=apps/apps sort=(exeela,fchela) sys=no
raw_trace_file.trc: Name of trace file
output_file: tkprof out file
explain: This option provides the explain plan for the sql statements
sort: his provides the sort criteria in which all sql statements will be sorted. This will bring the bad sql at the top of the outputfile.
sys=no:Disables sql statements issued by user SYS
Another example: To get (TKPROF) sorted by longest running queries first and limits the results to the “Top 10″ long running queries
$ tkprof <filename.trc> <output_filename> sys=no explain=apps/<password> sort=’(prsela,exeela,fchela)’ print=10
Thanks – Shivmohan Purohit

RSS - Posts
Shiv on LinkedIn
Shivmohan on Oracle Community
Shivmohan on Orkut