Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.misc -> Re: Optimum Value for db_file_multiblock_read

Re: Optimum Value for db_file_multiblock_read

From: Joel Garry <joel-garry_at_home.com>
Date: 11 Aug 2003 16:15:28 -0700
Message-ID: <91884734.0308111515.7d6ef7f4@posting.google.com>


nap23_at_talk21.com (Neil Phillips) wrote in message news:<478af260.0308110030.28659388_at_posting.google.com>...
> Oracle 9.2.0.1.0 Enterprise Edition on SuSe Linux 8
>
> db block size = 8k
>
> Hi
>
> I read in an article on the net that the setting you give the
> parameter db_file_multiblock_read tells Oracle what it thinks it can
> achieve when, amongst other things, it full table scans. I also read
> that what Oracle can actually achieve in terms of multiblock reads can
> be quite different from the value assigned to the multiblock reads
> parameter in v$parameter. I, therefore, want to find out how many
> multiblock reads Oracle can actually achieve in my environment.
>
> The same article went on to say that the way in which to determine the
> number of multiblock reads Oracle can actually achieve is to perform a
> full table scan on a large table and to look at the trace stats;
> paying particular attention to p3 values for db file scattered reads.
> To test this I created a locally managed tablespace with uniform
> extents of 128k (i.e. 16 blocks per extent). I then set my
> db_file_multiblock_read value to 16, switched on event tracing (event
> 10046, level8), ran a sql statement to generate a table scan (SELECT
> /*+ FULL (T) */ COUNT(*) FROM TEST_5 T <the table TEST_5 holds the
> contents of sys.source$>) and looked at the p3 values for
> db_file_scattered_reads in the trace file which was 16, as expected.

Would that be http://www.ixora.com.au/tips/max_multiblock_read.htm ?

>
> I know that multiblock reads can only read data from within a single
> extent, so I wondered if the size of my extents were limiting the
> amount of multiblock reads Oracle was able to do. I wanted to see if
> using larger extent sizes with a greater number of blocks would allow
> Oracle to read in more blocks per read. So, I created a new TS with a
> uniform extent size of 1024k (ie 128 * db_block_size), set the
> db_file_multiblock_read value to 128 (the max value even Oracle will
> allow for this param), switched tracing on and re-ran my sql
> statement. When I looked at the p3 values for db_file_scattered_read
> in the new trace file the value was now 128. Can that be right? Can I
> achieve 128 multiblock reads??? A lot of things I have read seem to
> suggest not.
>
> I have read a bit about this on the net and a lot of the examples
> given by people to determine an optimum size for the multiblock read
> value do not mention the impact small extent sizes will have on the
> number of blocks Oracle can read per extent. Even if you set your
> multiblock read values to 16 and you know (somehow) your system is
> capable of delivering this, if your extents only have 8 blocks in them
> the p3 value reported in the trace file is only ever 8. In which case
> how can you determine the true value for db_file_multiblock_reads.
>
> The issue I have is that many examples used by people to determine the
> optimum value for db_file_multiblock_read don't seem to discuss the
> impact small extent sizes have on the value of p3 reported in a trace
> file. Is there a particular extent size you should use when trying to
> calculate the optimum multiblock read value?

Some guy said there is:
http://groups.google.com/groups?q=multiblock+extent++author:Howard+author:Rogers&hl=en&lr=&ie=UTF-8&newwindow=1&selm=3a6f78cf%40news.iprimus.com.au&rnum=1

>
> Do p3 values within the trace file show how many reads Oracle was
> actually able to do?
>
> How can I tell exactly how many multiblock reads Oracle is capable of
> so that I can set this parameter correctly? (I have had exactly the
> same results for Oracle 9.2.0.1.0 on Win XP).

Do you use raw filesystems?

>
> Apologies in advance if I have made a stupid mistake in doing this but
> any advice you can give will be greatly appreciated.
>
> Many thanks
> Neil

jg

--
@home.com is bogus.
grep "no purpose" $ORACLE_HOME/*/*/*
Received on Mon Aug 11 2003 - 18:15:28 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US