Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.server -> Re: CBO influences
"DA Morgan" <damorgan_at_psoug.org> wrote in message
news:1126395746.244667_at_yasure...
> Jonathan Lewis wrote:
>> "DA Morgan" <damorgan_at_psoug.org> wrote in message >> news:1126374364.66827_at_yasure... >> >>>SQL> SELECT pname, pval1 >>> 2 FROM aux_stats$ >>> 3 WHERE sname = 'SYSSTATS_MAIN'; >>> >>>PNAME PVAL1 >>>------------------------------ ---------- >>>CPUSPEED 413 >>>CPUSPEEDNW 450.609 >>>IOSEEKTIM 10 >>>IOTFRSPEED 4096 >>>MAXTHR 43008 >>>MBRC 8 >>>MREADTIM 5.121 >>>SLAVETHR >>>SREADTIM 6.636 >>> >>>9 rows selected. >>> >>> >> >> >> Odd. >> >> It's interesting to note that your mreadtim is less >> than your sreadtim, and your MBRC looks >> suspiciously as if it might be your db_file_multiblock_read_count, >> which would tend to suggest (in a busy production >> system at least) that nearly everything you were >> doing was at least a full scan, and possibly >> a parallel scan. >
>
>
>
>
>> db_file_multiblock_read_count 16
> NAME VALUE
> ------------------------------ ------------------------------
>
> >> If you access x$kcfio - which is where the >> read stats come from, and check the columns >> (names I can't remember, but they'll be obvious) >> for sblk reads and mblk reads and mblk read >> counts, and sblk read times and mblk read times >> just before the start, and just after the stop, >> this should tell you the figures that the code >> is using to calculate the mbrc, sreadtim and >> mreadtim - check if what's captured in x$kcfio >> makes sense. >
>
>
> ADDR KCFIOSBR KCFIOMBR
> -------- ---------- ----------
> 206034FC 2828 106
> 2060361C 26 0
> 2060373C 105 15
> 2060385C 1 0
> 2060397C 1 0
> 20603A9C 5 2
> 20603BBC 1 0
> 20603DFC 1 0
>
>
My snapshot code on filestats (9i onwards) uses these columns for timing
KCFIOPYR phyrds,
KCFIOPBR phyblkrd,
KCFIOPRT readtim,
KCFIOSBR singleblkrds,
KCFIOSBT singleblkrdtim,
KCFIOMBR multiblkrds,
KCFIOMBT multiblkrdtim,
You will probably find that phyrds does not quite match singleblkrds + multiblkrds
My initial checks indicated that:
MBRC = (approx) (phyblkrd - singleblkrds )/multiblkrds
(oracle records only an integer for MBRC) mreadtim and sreadtim are the obvious divisions.
NB Just because a restart says a parameter has value X, that doesn't mean that the session had that value when you ran the test. But I'll trust you ;)
I'll take a look at the oddity when I have a little time. At present I'm working on checking the final layout of the book.
-- Regards Jonathan Lewis http://www.jlcomp.demon.co.uk/cbo_book/ind_book.html Cost Based Oracle - Volume 1: Fundamentals On-shelf date: Nov 2005 http://www.jlcomp.demon.co.uk/faq/ind_faq.html The Co-operative Oracle Users' FAQ http://www.jlcomp.demon.co.uk/appearances.html Public Appearances - schedule updated 4th Sept 2005Received on Sun Sep 11 2005 - 01:44:01 CDT
![]() |
![]() |