Subscribe to Posts by Email

Subscriber Count

    696

Disclaimer

All information is offered in good faith and in the hope that it may be of use for educational purpose and for Database community purpose, but is not guaranteed to be correct, up to date or suitable for any particular purpose. db.geeksinsight.com accepts no liability in respect of this information or its use. This site is independent of and does not represent Oracle Corporation in any way. Oracle does not officially sponsor, approve, or endorse this site or its content and if notify any such I am happy to remove. Product and company names mentioned in this website may be the trademarks of their respective owners and published here for informational purpose only. This is my personal blog. The views expressed on these pages are mine and learnt from other blogs and bloggers and to enhance and support the DBA community and this web blog does not represent the thoughts, intentions, plans or strategies of my current employer nor the Oracle and its affiliates or any other companies. And this website does not offer or take profit for providing these content and this is purely non-profit and for educational purpose only. If you see any issues with Content and copy write issues, I am happy to remove if you notify me. Contact Geek DBA Team, via geeksinsights@gmail.com

Pages

Quiz Post#13: Sizes of extents when you specify autoallocate for LMT tablespace

Very old thing, but to just refresh, Ever wonder how the extent sizes is managed if your tablespace is in LMT and autoallocate as like below.

 

CREATE TABLESPACE large_tables

DATAFILE ‘/u01/oracle/data/DB1/large_tables_01.dbf’

SIZE 100M EXTENT MANAGEMENT LOCAL AUTOALLOCATE;

When you specify auto allocate, Oracle will allocate extent sizes of 64KB, 1MB, 8MB, 32MB or 64MB. and even 256MB (according to Jonathan in his very old post)

The first sixteen extents will all be 64KB in size.

When the seventeenth extent is allocated, Oracle decides that it had the wrong extent size and allocates a larger, 1MB extent.

After sixteen 1MB extents have been allocated, future extents will be 8MB in size.

In short, (but this depends on the space available too)

IF dba_segment.bytes < 1M THEN

next extent = 64K

ElSIF 1M <= dba_segment.bytes < 64M THEN

next extent = 1M

ELSIF 64M <= dba_segment.bytes < 1G

THEN next extent = 8M

ELSE

next extent = 64MB,

 

Further , Each BMB controls up to:
=> 16 blocks until the segment is 1Mb
=> 64 blocks until the segment is 32Mb
=> 256 blocks until the segment is 1Gb
=> 1024 blocks once segment is >1Gb

Very good article on LMT vs DMT: Download here

Comments are closed.