Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.server -> Generic "Can I extend?" check
I've been asked to write a generic routine to determine if a segment can
extend. Easy enough except for auto-alloc lmt's where 'next_extent' is
null (ie indeterminate) in xxx_SEGMENTS.
So here is my current compromise (in pseudo-code)
where nvl(next_extent,
case
when initial_extent < 1m then case when extents < 16 then next = 64k, when extents < 80 then next = 1m, when extents < 200 then next = 8m, else next = 64m when initial_extent >= 1m then case when extents < 64 then next = 1m, when extents < 184 then next = 8m, else next = 64m )
The rough translation being:
- auto-alloc extents are 16x64k, then 64x1m, then 120x8m, then 64m, when
the initial_extent is less than 1m
- auto-alloc extents are 64x1m, then 120x8m, then 64m, when the
initial_extent is equal/more than 1m
In the spirit of "open source", I'm throwing this out the community asking for counter-examples which break the above formula.
Thanks
Connor
-- ============================== Connor McDonald http://www.oracledba.co.uk "Some days you're the pigeon, some days you're the statue..."Received on Wed Aug 07 2002 - 16:13:40 CDT
![]() |
![]() |