Ответ 1
В 11g этот запрос даст вам ответ, но я заметил, что вы на 10g и увы полезный столбец отсутствует.
select tablespace_name, max_size
from dba_tablespaces
/
В 10g вам нужно
select tablespace_name
, initial_extent + (next_extent * (max_extents-1)) as calc_max_size
from dba_tablespaces
/
Помните, что это максимальный размер по умолчанию. На практике вы будете ограничены размером файлов данных, назначенных табличному пространству, что может быть намного меньше этого теоретического максимума.
изменить
Комментарий @Paul уместен. Я предполагаю, что правильным ответом будет сказать, что максимальный размер табличного пространства - это бессмысленная, действительно почти вымышленная концепция. Размер табличного пространства фактически определяется его файлами данных, а его максимальный максимальный размер определяется максимальным количеством файлов данных, которые могут быть назначены. В SQL Reference есть что сказать по теме:
- В табличном пространстве bigfile содержится только один файл данных или временный файл, который может содержать до 4 миллиардов (232) блоков. Максимальный размер одного файла данных или временного файла составляет 128 терабайт (TB) для табличного пространства с 32K-блоками и 32 ТБ для табличного пространства с блоками 8K.
- Небольшое табличное пространство представляет собой традиционное табличное пространство Oracle, которое может содержать 1022 файлов данных или tempfiles, каждый из которых может содержать до 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.