Как определить размер таблиц в Oracle [duplicate]

этот вопрос уже есть ответ здесь:

Я использую Oracle 11 и хочу узнать размер моих таблиц (например, в мегабайтах). Что мне делать? Должен ли я проверить размер файла на сервере? Или есть какие-то запрос?

2 ответов


вот запрос, вы можете запустить его в SQL Developer (или SQL*Plus):

SELECT DS.TABLESPACE_NAME, SEGMENT_NAME, ROUND(SUM(DS.BYTES) / (1024 * 1024)) AS MB
  FROM DBA_SEGMENTS DS
  WHERE SEGMENT_NAME IN (SELECT TABLE_NAME FROM DBA_TABLES)
 GROUP BY DS.TABLESPACE_NAME,
       SEGMENT_NAME;

Если у вас нет прав DBA, вы можете использовать таблицу user_segments:

select bytes/1024/1024 MB from user_segments where segment_name='Table_name'