DBAtlas · Атлас эксплуатации баз данных

Запрос свободного места в табличных пространствах

OracleХранение

Команда

SELECT df.tablespace_name,
       ROUND(df.total_mb/1024,2)                 AS total_gb,
       ROUND(NVL(fs.free_mb,0)/1024,2)           AS free_gb,
       ROUND((df.total_mb-NVL(fs.free_mb,0))/df.total_mb*100,1) AS pct_used
FROM  (SELECT tablespace_name, SUM(bytes)/1024/1024 total_mb
         FROM dba_data_files GROUP BY tablespace_name) df
  LEFT JOIN
       (SELECT tablespace_name, SUM(bytes)/1024/1024 free_mb
          FROM dba_free_space GROUP BY tablespace_name) fs
    ON df.tablespace_name = fs.tablespace_name
ORDER BY pct_used DESC;

Что делает

Показывает общее и свободное пространство и процент заполнения каждого табличного пространства (по выделенному сейчас пространству, без учёта потенциала autoextend).

Когда использовать

Мониторинг пространства, поиск табличного пространства, которое нужно расширить.

Внимание

Этот запрос основан на текущем размере файлов данных; с autoextend они могут вырасти ещё. Для temp используйте DBA_TEMP_FREE_SPACE. Только запрос; риска нет.

Открыть в DBAtlas →

Связанные материалы