Tablespace Growth

SELECT b.tsname tablespace_name,
         MAX (b.used_size_mb) cur_used_size_mb,
         ROUND (AVG (inc_used_size_mb), 2) avg_increas_mb
    FROM (SELECT a.days,
                 a.tsname,
                 used_size_mb,
                   used_size_mb
                 - LAG (used_size_mb, 1)
                      OVER (PARTITION BY a.tsname ORDER BY a.tsname, a.days)
                    inc_used_size_mb
            FROM (  SELECT TO_CHAR (sp.begin_interval_time, 'MM-DD-YYYY') days,
                           ts.tsname,
                           MAX (
                              ROUND (
                                   (tsu.tablespace_usedsize * dt.block_size)
                                 / (1024 * 1024),
                                 2))
                              used_size_mb
                      FROM dba_hist_tbspc_space_usage tsu,
                           dba_hist_tablespace_stat ts,
                           dba_hist_snapshot sp,
                           dba_tablespaces dt
                     WHERE     tsu.tablespace_id = ts.ts#
                           AND tsu.snap_id = sp.snap_id
                           AND ts.tsname = dt.tablespace_name
                           AND sp.begin_interval_time > SYSDATE - 7
                  GROUP BY TO_CHAR (sp.begin_interval_time, 'MM-DD-YYYY'),
                           ts.tsname
                  ORDER BY ts.tsname, days) a) b
GROUP BY b.tsname
ORDER BY b.tsname;

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.