rem ********************************************************************* rem * Copyright © Oracle-Consultant.co.uk 2001, all rights reserved * rem * * rem * Name : toobig.sql * rem * Synopsis : Shows segments that need attention due to their size * rem * Source : http://www.oracle-consultant.co.uk * rem * * rem * Oracle-Consultant.co.uk are not responsible for any liability * rem * that may arise from the use of this code. Support can be obtained * rem * by emailing script_support@oracle-consultant.co.uk * rem * Note: This script is best viewed in a fixed-width font. * rem ********************************************************************* PROMPT PROMPT ************************************************ PROMPT *** SEGMENTS WITHIN 10 EXTENTS OF MAXEXTENTS *** PROMPT ************************************************ column segment format a40 wrap column segment_type format a10 heading "SEG TYPE" wrap column max_extents format 9999999 heading "MAXEXTS" column next_extent heading "NEXTEXT" column initial_extent heading "INITEXT" column tablespace_name format a15 wrap set linesize 1000 set pagesize 32000 set trimspool on select extents , max_extents , owner||'.'||segment_name segment , segment_type , bytes , next_extent , initial_extent , tablespace_name from sys.dba_segments where max_extents - extents < 10 / PROMPT PROMPT *********************************** PROMPT *** SEGMENTS THAT CANNOT EXTEND *** PROMPT *********************************** select a.owner||'.'||a.segment_name segment , a.segment_type , b.tablespace_name , decode(ext.extents,1,b.next_extent, a.bytes*(1+b.pct_increase/100)) nextext , freesp.largest from dba_extents a , dba_segments b , (select owner , segment_name , max(extent_id) extent_id , count(*) extents from dba_extents group by owner , segment_name) ext, (select tablespace_name , max(bytes) largest from dba_free_space group by tablespace_name) freesp where a.owner = b.owner and a.segment_name = b.segment_name and a.owner = ext.owner and a.segment_name = ext.segment_name and a.extent_id = ext.extent_id and b.tablespace_name = freesp.tablespace_name and decode(ext.extents,1,b.next_extent, a.bytes*(1+b.pct_increase/100)) > freesp.largest / column segment clear column segment_type clear column max_extents clear column next_extent clear column initial_extent clear column tablespace_name clear