Как я могу оценить размеры таблиц в схеме (Oracle)

11

Я пытаюсь оценить размеры таблицы в моей схеме (в МБ). Это то, что я до сих пор:

SELECT table_name, owner, last_analyzed
FROM all_tables

Я довольно новичок в SQL, поэтому я понятия не имею, как мне это сделать.

Спасибо.

Диего Р
источник

Ответы:

10

Посмотрите на представление "dba_segments" (или user_segments, если у вас нет прав на dba). Следующий запрос должен дать вам то, что вы ищете:

select
  owner as "Schema"
  , segment_name as "Object Name"
  , segment_type as "Object Type"
  , round(bytes/1024/1024,2) as "Object Size (Mb)"
  , tablespace_name as "Tablespace"
from dba_segments
order by owner;
Benoit
источник
Привет Бенуа, это сработало отлично, спасибо. Я взглянул на поля таблицы, которые мог использовать, но не смог найти «Владелец» или последние обновленные поля. Кстати, я использовал представление user_segments. Будет ли эта информация доступна в разделе dba_segments?
Диего Р
Все сегменты, показанные в user_segments, принадлежат учетной записи, которую вы использовали для входа в систему, поэтому столбец владельца отсутствует.
Бенуа
Правильный префикс для 1024/1024 Miскорее, чем M(см. Двоичный префикс )
Wernfried Domscheit