Oracle FAQ Your Portal to the Oracle Knowledge Grid

Home -> Community -> Mailing Lists -> Oracle-L -> RE: Script for next_extent of objects <= free space available

RE: Script for next_extent of objects <= free space available

From: <nlzanen1_at_EY.NL>
Date: Wed, 31 Oct 2001 02:27:39 -0800
Message-ID: <>


I have this Space Bound object script that will list every table that can not allocate it's next extent. It will not list tables in tablespace that is set to autoextent.
This is not entirely correct as you may have set an upper limit to the auto extent (if you feel like adding it in please send back)

SELECT s.owner owner, s.segment_name object, TABLESPACE, s.segment_type TYPE,

       so.object_id obj#, round((s.blocks * f.blocksize) / (1024 * 1024),2) objmbytes,

       s.extents extents, s.initial_extent iniexts, s.min_extents minexts,
       s.max_extents maxexts, s.next_extent nextextsize,
       round((s.next_extent  / (1024*1024)),2) nextextmbytes,
       s.pct_increase extpct,
       DECODE (s.max_extents - s.extents,
          0, 'Max Extents Reached',
          DECODE (LEAST (s.next_extent, f.totfreeblocks) - s.next_extent,
             0, 'Fragmented Free Space', 'Insufficient Free Space'
       ) reason
       (      SELECT a.tablespace_name AS name, c.value AS blocksize,
               NVL (MAX (b.blocks*c.value), 0) AS maxfreeblocks,
               NVL (SUM (b.blocks*c.value), 0) AS totfreeblocks,
               NVL (SUM (b.blocks / b.blocks), 0) AS freeextents
          FROM DBA_TABLESPACES a, DBA_FREE_SPACE b ,v$parameter c
         WHERE a.tablespace_name = b.tablespace_name
           AND = 'db_block_size'
         GROUP BY a.tablespace_name, c.value) f,
       DBA_OBJECTS so,
     (      SELECT tablespace_name,max(autoextensible) auto
               FROM dba_data_files GROUP BY tablespace_name) df
             s.next_extent > f.maxfreeblocks
          OR (    s.extents >= s.max_extents
              AND s.max_extents != 0)

   AND s.tablespace_name =
   AND so.owner = s.owner
   AND so.object_name = s.segment_name
   AND df.tablespace_name=s.tablespace_name


Hope this is what you can use


De informatie verzonden in dit e-mailbericht is vertrouwelijk en is uitsluitend bestemd voor de geadresseerde. Openbaarmaking, vermenigvuldiging, verspreiding en/of verstrekking van deze informatie aan derden is, behoudens voorafgaande schriftelijke toestemming van Ernst & Young, niet toegestaan. Ernst & Young staat niet in voor de juiste en volledige overbrenging van de inhoud van een verzonden e-mailbericht, noch voor tijdige ontvangst daarvan. Ernst & Young kan niet garanderen dat een verzonden e-mailbericht vrij is van virussen, noch dat e-mailberichten worden overgebracht zonder inbreuk of tussenkomst van onbevoegde derden.

Indien bovenstaand e-mailbericht niet aan u is gericht, verzoeken wij u vriendelijk doch dringend het e-mailbericht te retourneren aan de verzender en het origineel en eventuele kopieŽn te verwijderen en te vernietigen.

Ernst & Young hanteert bij de uitoefening van haar werkzaamheden algemene voorwaarden, waarin een beperking van aansprakelijkheid is opgenomen. De algemene voorwaarden worden u op verzoek kosteloos toegezonden.

The information contained in this communication is confidential and is intended solely for the use of the individual or entity to whom it is addressed. You should not copy, disclose or distribute this communication without the authority of Ernst & Young. Ernst & Young is neither liable for the proper and complete transmission of the information contained in this communication nor for any delay in its receipt. Ernst & Young does not guarantee that the integrity of this communication has been maintained nor that the communication is free of viruses, interceptions or interference.

If you are not the intended recipient of this communication please return the communication to the sender and delete and destroy all copies.

In carrying out its engagements, Ernst & Young applies general terms and conditions, which contain a clause that limits its liability. A copy of these terms and conditions is available on request free of charge.

Please see the official ORACLE-L FAQ:
  INET: nlzanen1_at_EY.NL

Fat City Network Services    -- (858) 538-5051  FAX: (858) 538-5051
San Diego, California        -- Public Internet access / Mailing Lists
To REMOVE yourself from this mailing list, send an E-Mail message
to: (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).
Received on Wed Oct 31 2001 - 04:27:39 CST

Original text of this message