Re: Slow performance/response
- From: Daniel Fink <Daniel.Fink@xxxxxxx>
- To: oracle-l@xxxxxxxxxxxxx
- Date: Wed, 30 Jun 2004 08:59:10 -0600
Here is a quick and dirty overview of some of the relevant fields (metalink
has a good note about reading raw trace files and
"Optimizing Oracle Performance" is a comprehensive overview of trace files and
performance optimization).
EXEC - a database call to execute the statement and how much cpu and elapsed
time were consumed, the number and types of LIOs, rows
returned (and more).
WAIT - a timed event (not a WAIT event). Anyway, this gives the name of the
timed event, the duration (ela) and additional
information (p1,p2,p3).
FETCH - actual returning of rows to the calling program (like sql*plus)
STAT - the *actual* execution plan, with the steps, parent steps, type of
operation, # of rows returned, ios and timing information
c= - A call/event gets CPU time when it is on the CPU when the clock is
incremented. When it is 0, this means that the process was
not on the CPU when the cpu clock was incremented. This does not mean that the
call consumed 0 cpu time.
e=/ela=/time= - This is the elapsed time in microseconds (9i).
cr=/cu= - Logical IOs.
r=/cnt= - number of rows returned
id= - the unique id for each step in the execution plan
pid= - the parent id for the step
I am not seeing the query you posted earlier in the trace file. So I'll use one
of the non-recursive queries as an example of how to
read the output.
The first statement performed 1 logical i/o (cr=1) and returned 0 rows (r=0).
From parse to fetch completion, it consumed 959
microseconds and was not on the CPU when the clock incremented.
The execution plan was to perform a unique scan on the PBSYSCATPBT_IDX index
(consumed 11 microseconds) and use the ROWID to access
the PBCATTBL table (consumed 3 microseconds (14 total - 11 for the index
scan)). As the cnt values are 0, this statement did not
return any rows (verifying the information in the FETCH call).
The second statement performed 4 logical i/os and returned 20 rows. From parse
to fetch completion, it consumed 1939 microseconds
and was not on the CPU when the clock incremented.
The execution plan was to perform a full table scan of PBCATFMT (consuming 76
microseconds) using 4 logical i/os and returned 20 rows.
> =====================
> PARSING IN CURSOR #1 len=276 dep=0 uid=151 oct=3 lid=151 tim=1063030977863756
> hv=2671731006 ad='34c53228'
> SELECT
> PBD_FHGT,PBD_FWGT,PBD_FITL,PBD_FUNL,PBD_FCHR,PBD_FPTC,PBD_FFCE,PBH_FHGT,PBH_FWGT,PBH_FITL,PBH_FUNL,PBH_FCHR,PBH_FPTC,PBH_FFCE,PBL_FHGT,PBL_FWGT,PBL_FITL,PBL_FUNL,PBL_FCHR,PBL_FPTC,PBL_FFCE,PBT_CMNT
>
> FROM SYSTEM.PBCATTBL WHERE PBT_OWNR = 'PUBLIC' AND PBT_TNAM = 'DUAL'
> END OF STMT
> PARSE #1:c=0,e=892,p=0,cr=0,cu=0,mis=1,r=0,dep=0,og=4,tim=1063030977863753
> BINDS #1:
> EXEC #1:c=0,e=46,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=4,tim=1063030977863889
> WAIT #1: nam='SQL*Net message to client' ela= 2 p1=1413697536 p2=1 p3=0
> FETCH #1:c=0,e=19,p=0,cr=1,cu=0,mis=0,r=0,dep=0,og=4,tim=1063030977864026
> WAIT #1: nam='SQL*Net message from client' ela= 1959 p1=1413697536 p2=1 p3=0
> =====================
> STAT #1 id=1 cnt=0 pid=0 pos=1 obj=36257 op='TABLE ACCESS BY INDEX ROWID
> PBCATTBL (cr=1 r=0 w=0 time=14 us)'
> STAT #1 id=2 cnt=0 pid=1 pos=1 obj=36258 op='INDEX UNIQUE SCAN
> PBSYSCATPBT_IDX (cr=1 r=0 w=0 time=11 us)'
> =====================
> =====================
> PARSING IN CURSOR #1 len=63 dep=0 uid=151 oct=3 lid=151 tim=1063030977885676
> hv=1175394665 ad='31c351f0'
> SELECT PBF_NAME,PBF_FRMT,PBF_TYPE,PBF_CNTR FROM SYSTEM.PBCATFMT
> END OF STMT
> PARSE #1:c=0,e=505,p=0,cr=0,cu=0,mis=1,r=0,dep=0,og=4,tim=1063030977885672
> BINDS #1:
> EXEC #1:c=0,e=28,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=4,tim=1063030977885769
> WAIT #1: nam='SQL*Net message to client' ela= 2 p1=1413697536 p2=1 p3=0
> FETCH #1:c=0,e=55,p=0,cr=3,cu=0,mis=0,r=1,dep=0,og=4,tim=1063030977885878
> WAIT #1: nam='SQL*Net message from client' ela= 1272 p1=1413697536 p2=1 p3=0
> WAIT #1: nam='SQL*Net message to client' ela= 0 p1=1413697536 p2=1 p3=0
> FETCH #1:c=0,e=77,p=0,cr=1,cu=0,mis=0,r=19,dep=0,og=4,tim=1063030977887302
> WAIT #1: nam='SQL*Net message from client' ela= 2325 p1=1413697536 p2=1 p3=0
> =====================
> STAT #1 id=1 cnt=20 pid=0 pos=1 obj=36261 op='TABLE ACCESS FULL PBCATFMT
> (cr=4 r=0 w=0 time=76 us)'
> =====================
----------------------------------------------------------------
Please see the official ORACLE-L FAQ: http://www.orafaq.com
----------------------------------------------------------------
To unsubscribe send email to: oracle-l-request@xxxxxxxxxxxxx
put 'unsubscribe' in the subject line.
--
Archives are at http://www.freelists.org/archives/oracle-l/
FAQ is at http://www.freelists.org/help/fom-serve/cache/1.html
-----------------------------------------------------------------
- References:
- RE: Slow performance/response
- From: Nelson, Allan
- Re: Slow performance/response
- From: Leroy Kemnitz
- Re: Slow performance/response
- From: Daniel Fink
- Re: Slow performance/response
- From: LeRoy Kemnitz
Other related posts:
- » Slow performance/response
- » RE: Slow performance/response
- » Re: Slow performance/response
- » RE: Slow performance/response
- » Re: Slow performance/response
- » Re: Slow performance/response
- » Re: Slow performance/response
- » RE: Slow performance/response
- » Re: Slow performance/response
- » Re: Slow performance/response
- » Re: Slow performance/response
- » Re: Slow performance/response
- » Re: Slow performance/response
- » Re: Slow performance/response
- » Re: Slow performance/response
- RE: Slow performance/response
- From: Nelson, Allan
- Re: Slow performance/response
- From: Leroy Kemnitz
- Re: Slow performance/response
- From: Daniel Fink
- Re: Slow performance/response
- From: LeRoy Kemnitz