Calculating data base siz

From: CHARLIE GRAY <charlie.gray_at_fonix.org>
Date: 1995/06/24
Message-ID: <8ABE297.0774001927.uuout_at_fonix.org>#1/1


TC>Does anyone have a rule-of-thumb for calculating the amount of disk

>space that woluld be required, given that you know table sizes,
>number of entries etc. i.e how to figure out "overhead" required.

Try the following steps:

(1) AVAILABLE SPACE PER BLOCK
.
Free_space = (Block_size * PCTFREE) / 100

Block_header = 57 + (23 * INITRANS)

   ==> Space_per_block = Block_size - Block_header - Free_space

(2) SPACE USED PER ROW Space_per_row = (Ave_row_size + 5) + (No_of_cols * 2)  .

(3) AVERAGE ROWS PER BLOCK
.
Rows_per_block = Space_per_block / Space_per_row

(4) BLOCKS REQUIRED Blocks_reqd = No_of_rows / Rows_per_block .
(5) Then allow, say, 10-20% extra

You may want to set up a spreadsheet to do this.

The difficult bit is calculating Ave_row_size (remember that Oracle doesn't store unused bytes). If you are not sure of the average row size, use the sum of the column widths, and ( FOR THIS CALCULATION ONLY ) set PCTFREE to 0. This will give a figure that is too large.

This gives the space required for each TABLE.

There is a similar formula for Indexes, which I could dig out and send on, if you're interested.

For Clusters, calculate for each Table in the cluster.

For the Data Dictionary, allow 8mb or more.

You will also need to allow for TEMP areas and Rollback segments.

Hope this is some help.

Regards
Charlie Gray

                              charlie.gray_at_fonix.org

  • 1st 2.00b #6428 *
Received on Sat Jun 24 1995 - 00:00:00 CEST

Original text of this message