Oracle FAQ Your Portal to the Oracle Knowledge Grid

Home -> Community -> Mailing Lists -> Oracle-L -> Re: Question on diff block sizes in DB

Re: Question on diff block sizes in DB

From: Jonathan Lewis <>
Date: Sun, 18 Apr 2004 21:03:15 +0100
Message-ID: <005a01c42580$31b9d380$7102a8c0@Primary>

In your case I'd worry more about the stripe size than the block size. Think what's going to happen with a multiblock read:

    At 8 blocks per read
    32K per block, you get a 256K read.

With a stripe size of 64k, That's a minimum of 4 discs kicked into action on a single read. Now imagine you kick off a parallel tablescan: how many devices do you actually have for your 17GB, and how much I/O contention will a single parallel request cause on your system.

If you are stuck with a 64K stripe size, I'd consider keeping your multi-block read size down to 64K in the hope of minimising contention..

As far as use of different block sizes go, I think others have already made the key points. You have to know what your actual data access paths are so that you can predict the pros and cons. But as a special consideration, can you guarantee that the boundary of a 32K Oracle data block will always synchronize with the boundary of a 64K stripe ? If you can't then perhaps one block out of every two will span two stripes, and therefore activate two disk drives. If you switch to 8K blocks then it's only one block in eight that would have the problem.


Jonathan Lewis

The Co-operative Oracle Users' FAQ

April 2004 Iceland June 2004 UK - Optimising Oracle Seminar July 2004 USA West Coast, Optimising Oracle Seminar August 2004 Charlotte NC, Optimising Oracle Seminar September 2004 USA East Coast, Optimising Oracle Seminar September2004 UK - Optimising Oracle Seminar

Hello list,

I was wandering if anyone had any experience or recommendations for the following. We will be implementing a database that will be similar to a small warehouse having some tables that will be fairly well partitioned and be sized/grow 17G a year. Along with these we will have some smaller lookup tables that we do not know the sizes of. I looked over the suggested spec today and had some questions related to using different database block sizes within the database (database will be

All Data and Index Tablespaces reside on: 32k block size tablespaces, 256k VM I/O read size, 64k strip width on SAN (SAN stuck at 64k strip size), with db_file_multiblock_read_count of 8

All System, Temp, undo, lookup table tablespaces reside on: 8k block size tablespaces, 64k VM I/O read size, 64k strip width size on SAN (SAN stuck at 64k strip size), with db_file_multiblock_read_count of 8

Since the system will not be using transportable tablespaces, is there much of a benefit to separating this data into different block sizes. I initially felt that since we were only dealing with the System tablespace and a group of lookup tables, the design/administration would be easier to keep everything uniform(block size, VM IO). I also felt that we should at least use the 32k block size for the temp tablespace and possibly Undo tablespace as well.

Since I do not have any experience with using databases with different block sizes, I was hoping someone might share their experience and give advice against what has been spec'd

Much appreciated

Please see the official ORACLE-L FAQ:

To unsubscribe send email to: put 'unsubscribe' in the subject line.

Archives are at FAQ is at
Received on Sun Apr 18 2004 - 14:59:41 CDT

Original text of this message