В 11g этот запрос даст вам ответ, но я замечаю, что вы набрали 10g, и увы полезный столбец отсутствует .
select tablespace_name, max_size
from dba_tablespaces
/
В 10 г вам придется
select tablespace_name
, initial_extent + (next_extent * (max_extents-1)) as calc_max_size
from dba_tablespaces
/
Помните, что это максимальный размер по умолчанию . На практике вы будете ограничены размером файлов данных, назначенных табличному пространству, который может быть намного меньше этого теоретического максимума.
редактировать
@ Комментарий Павла уместен. Я полагаю, что правильным ответом было бы сказать, что максимальный размер табличного пространства - это бессмысленная, по сути, почти вымышленная концепция. Размер табличного пространства фактически определяется его файлами данных, а его потенциальный максимальный максимальный размер определяется максимальным количеством файлов данных, которые могут быть назначены. Справочник по SQL имеет следующее высказывание по теме:
- Табличное пространство большого файла содержит только один файл данных или временный файл, который может содержать до 4 миллиардов (232) блоков. Максимальный размер одного файла данных или временного файла составляет 128 терабайт (ТБ) для табличного пространства с блоками 32 КБ и 32 ТБ для табличного пространства с блоками 8 КБ.
- Табличное пространство smallfile - это традиционное табличное пространство Oracle, которое может содержать 1022 файла данных или временных файлов, каждый из которых может содержать до 4 миллионов ([от 2 до 22]) блоков.
Так что, возможно, это более полезный запрос ...
select tablespace_name
, count(*) as no_of_data_files
, sum(maxblocks) as max_size
from dba_data_files
group by tablespace_name
/
... с предупреждением о том, что оно применяется только к текущим назначенным файлам данных.
редактировать 2
MAXSIZE применяется к файлу данных, а не к табличному пространству. Вот почему ключевое слово MAXSIZE обсуждается в документации для предложения filespec , а не в разделе CREATE TABLESPACE.