Истинный размер табличной области в оракуле

Я должен знать истинный размер табличной области в Oracle. У меня есть некоторая табличная область, и я должен знать, сколько пространства она использует теперь и сколько пространство свободно (и возможно процент свободного пространства). Я нашел в сети некоторый sqls, но все они показали размер на основе водяного знака..., который не является истинным местом, выделенным теперь, но насколько я знаю самое высокое значение, которое когда-либо достигалось... Таким образом, моя реальная потребность состоит в том, чтобы знать, есть ли у меня достаточно пространства для моих данных, которые постоянно пишутся, и я должен знать, сколько из них я могу сохранить прежде, чем иметь необходимость удалить некоторые из них.

Спасибо

7
задан miki 5 February 2010 в 12:27
поделиться

1 ответ

Попробуйте следующее:

-- Available space, by tablespace

SELECT * FROM
  (SELECT tablespace_name FROM dba_tablespaces)
LEFT OUTER JOIN
  (SELECT tablespace_name, SUM(bytes) AS total_bytes
     FROM dba_data_files
     GROUP BY tablespace_name)
  USING (tablespace_name)
LEFT OUTER JOIN
  (SELECT tablespace_name, sum(bytes) AS used_bytes
     from dba_segments
     GROUP BY tablespace_name)
  USING (tablespace_name)
LEFT OUTER JOIN
  (SELECT tablespace_name, SUM(bytes) AS free_bytes
     FROM dba_free_space
     GROUP BY tablespace_name)
  USING (tablespace_name);
20
ответ дан 6 December 2019 в 07:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: