PROMPT

PROMPT ===============================================================

PROMPT SECTION 2: TABLESPACE-WISE GROWTH (Excludes SYSTEM/UNDO/TEMP)

PROMPT ===============================================================


COLUMN begin_time FORMAT A30

COLUMN end_time FORMAT A30

COLUMN tablespace_name FORMAT A30

COLUMN size_mb FORMAT 999,999,999

COLUMN used_mb FORMAT 999,999,999

COLUMN growth_mb FORMAT 999,999,999


SELECT

    dt.tablespace_name,

    TO_CHAR(s1.begin_interval_time, 'YYYY-MM-DD HH24:MI:SS') AS begin_time,

    TO_CHAR(s2.end_interval_time, 'YYYY-MM-DD HH24:MI:SS')   AS end_time,

    ROUND((e.tablespace_size * dt.block_size)/1024/1024)     AS size_mb,

    ROUND((e.tablespace_usedsize * dt.block_size)/1024/1024) AS used_mb,

    ROUND(((e.tablespace_usedsize - b.tablespace_usedsize) * dt.block_size)/1024/1024) AS growth_mb

FROM

    dba_hist_tbspc_space_usage b

JOIN

    dba_hist_tbspc_space_usage e

  ON b.tablespace_id = e.tablespace_id

JOIN

    dba_hist_snapshot s1

  ON b.snap_id = s1.snap_id AND b.dbid = s1.dbid AND b.instance_number = s1.instance_number

JOIN

    dba_hist_snapshot s2

  ON e.snap_id = s2.snap_id AND e.dbid = s2.dbid AND e.instance_number = s2.instance_number

JOIN

    dba_tablespaces dt

  ON b.tablespace_id = dt.ts#

WHERE

    s1.begin_interval_time BETWEEN SYSDATE - &num_days AND SYSDATE

    AND b.snap_id < e.snap_id

    AND dt.tablespace_name NOT IN ('SYSTEM', 'SYSAUX')

    AND dt.tablespace_name NOT LIKE 'UNDO%'

    AND dt.tablespace_name NOT LIKE 'TEMP%'

    AND ROWNUM = 1

ORDER BY

    dt.tablespace_name;

Popular posts from this blog