Re: Calculations in maximizing rows per block

From: Sayan Malakshinov <>
Date: Mon, 14 Aug 2017 23:13:17 +0300
Message-ID: <>

Hi Rich,

I've described Intra-block row chainging in details here: That's better to migrate on 12.2:

On Mon, Aug 14, 2017 at 10:23 PM, Rich J <> wrote:

> Hey all,
> I've got a table of 268 columns with a mix of NCHAR and NUMBER columns in
> 11.2 (moving to 12.1 soonish?). I'm having issues determining why I can
> only fit 2 rows in an 8K block with a PCTFREE of 1, with only 1/4 of rows
> packed 3 per block with a PCTFREE of 0. Stats collection says the average
> row size is 2667 bytes.
> My own sizing calculations based on the dated information from
> has some
> problems. Among them, it seems that there may be ASSM overhead in the
> block that could not have been accounted for in that pre-ASSM doc. This
> leads to a few questions:
> 1) Are the block and record layouts documented in newer versions of
> Oracle? Where? The 10g docs mention "intra-block chaining" for rows with
> more than 255 columns, but no detail. Nothing even in MOS that I can see.
> Seems this is getting *less* documented with each new version...
> 2) With a PCTFREE of 0, does Oracle still use the remaining space in the
> block for row mods? It seems that a 4K row in an 8K block leaves a lot of
> room for row mods, but again I can't find where or if this is documented.
> Yes, I may be able to see this empirically, but I prefer to use that to
> back up (or refute!) the docs.
> If, after all things considered, packing 3 rows into each block instead of
> 2 of our largest physical table should have a decent positive impact on the
> business.
> Thanks!
> Rich

Best regards,
Sayan Malakshinov
Oracle performance tuning engineer
Oracle ACE Associate

Received on Mon Aug 14 2017 - 22:13:17 CEST

Original text of this message