Friday, July 3, 2020

How to find out tablespaces with free space < 15%

How to find out tablespaces with free space < 15%

set pagesize 300
set linesize 100
column tablespace_name format a15 heading 'Tablespace'
column sumb format 999,999,999
column extents format 9999
column bytes format 999,999,999,999
column largest format 999,999,999,999
column Tot_Size format 999,999 Heading 'Total Size(Mb)'
column Tot_Free format 999,999,999 heading 'Total Free(Kb)'
column Pct_Free format 999.99 heading '% Free'
column Max_Free format 999,999,999 heading 'Max Free(Kb)'
column Min_Add format 999,999,999 heading 'Min space add (MB)'
ttitle center 'Tablespaces With Less Than 15% Free Space' skip 2
set echo off
select a.tablespace_name,sum(a.tots/1048576) Tot_Size,
   sum(a.sumb/1024) Tot_Free,
  sum(a.sumb)*100/sum(a.tots) Pct_Free,
   ceil((((sum(a.tots) * 15) - (sum(a.sumb)*100))/85 )/1048576) Min_Add
   from
 (
  select tablespace_name,0 tots,sum(bytes) sumb
  from dba_free_space a
  group by tablespace_name
  union
 select tablespace_name,sum(bytes) tots,0 from
  dba_data_files
group by tablespace_name) a
 group by a.tablespace_name
 having sum(a.sumb)*100/sum(a.tots) < 15
 order by pct_free;

OUTPUT:--

                              Tablespaces With Less Than 15% Free Space

Tablespace      Total Size(Mb) Total Free(Kb)  % Free Min space add (MB)
--------------- -------------- -------------- ------- ------------------
SYSAUX                     570         34,880    5.98                 61
SYSTEM                     870        122,048   13.70                 14

No comments:

Post a Comment