extent allocation of alter fragment
Posted in 2000
Topics: Storage & Space Management
Hi,
Can someone tell me how does "alter fragment" allocate extents while doing
the following:
alter fragment on table <tablename> init fragment by round robin in
dbspace1, dbspace2, dpspace3
The table is very big, 28 GB and it uses several 2-gig chunks in each
fragmented dbspace.
Is there a way which I can change the initial extent size?
Thanks
Roger XU
Database Administrator
Dr Pepper Bottling Company of Texas
2304 Century Center Blvd.
Irving, TX 75062
(972)721-8337
Roger Xu wrote:
>
> Hi,
>
> Can someone tell me how does "alter fragment" allocate extents while doing
> the following:
>
> alter fragment on table <tablename> init fragment by round robin in
> dbspace1, dbspace2, dpspace3
The same as every other Informix command that allocates space. The initial
extent size of each fragment is allocated in the first free extent large
enough to hold it. As more extents are required the engine attempts to
allocate them contiguous with the last extent allocated in that fragment,
if possible the extents are 'compressed' into a single larger extent.
> The table is very big, 28 GB and it uses several 2-gig chunks in each
> fragmented dbspace.
Right, since extents cannot span multiple chunks there will be at least as
many extents as chunks needed to supply the required space in each dbspace.
> Is there a way which I can change the initial extent size?
Not without dropping/unloading the table but if this table is alone in its
dbspaces there should be only one extent per chunk after compression. If
other tables exist reorging them to collect free space into larger extents
and collapse each table into a minimum of extents improves the likelihood
that the next round of reorgs will result in only one or two extents per
chunk.
Art S. Kagel