Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Generic "Can I extend?" check

Generic "Can I extend?" check

From: Connor McDonald <connor_mcdonald_at_yahoo.com>
Date: Wed, 07 Aug 2002 22:13:40 +0100
Message-ID: <3D518D84.4A77@yahoo.com>


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 ) 

> largest_free_space_chunk_in_tablespace

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

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US