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

Home -> Community -> Usenet -> c.d.o.server -> Re: Block Header Size Confusion

Re: Block Header Size Confusion

From: Ed Prochak <edprochak_at_gmail.com>
Date: 25 Nov 2006 20:14:23 -0800
Message-ID: <1164514462.936866.307500@j44g2000cwa.googlegroups.com>

On Nov 25, 4:01 pm, "Dereck L. Dietz" <diet..._at_ameritech.net> wrote:
> In reading a study guide for Oracle 9i it described the data block headers.
> One item it mentions is the Row Directory which it states occupies (4 * the
> number of rows) bytes.
>
> The other book I used to get the formula I have been using to "guestimate"
> table/index sizing was the Oracle 8 DBA Manual and it just had the block
> overhead as 90 for tables and 161 for indexes.
>
> My question is probably a simple one and I apologize if it is but when it
> states (4 * the number of rows) am I correct in thinking it is referring to
> the number of rows in the data BLOCK and not the entire table?
>
> Another question is, isn't this a Catch-22 situation? It seems that in
> order to know what the block overhead is you need to know how many rows will
> be in the block; but in order to know how many rows will fit in the block
> you need to know the free bytes in the block (block size minus the block
> overhead).
>
> Thanks.

As I recall, in Oracle 8 it was a guestimate. If you had a decent estimate of the row size, then you get a first pass extimate of the rows per block. Computing the overhead then might cause the row count to change.

So you are right in seeing the catch-22, but it isn't a fatal situation.

HTH,
  Ed Received on Sat Nov 25 2006 - 22:14:23 CST

Original text of this message

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