Как определить MAXSIZE существующей табличной области

Я должен определить MAXSIZE это было установлено для табличной области, когда она была создана (Oracle 10 г)

Я уверен, что пропускаю что-то очевидное, но информация не сразу очевидна в информации в DBA_TABLESPACES.

11
задан Alfabravo 9 November 2015 в 14:07
поделиться

2 ответа

В 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 
/

помнить, что это максимальный размер по умолчанию. На практике вы будете ограничены размером файлов данных, назначенных табличному пространству, который может быть намного меньше этого теоретического максимума.

edit

@ Комментарий Пола уместен. Я полагаю, что правильным ответом будет сказать, что максимальный размер табличного пространства - это бессмысленная, почти вымышленная концепция. Размер табличного пространства фактически определяется его файлами данных, а его потенциальный максимальный размер определяется максимальным количеством файлов данных, которые могут быть назначены. В SQL Reference по этому поводу сказано следующее:

  • Табличное пространство bigfile содержит только один файл данных или tempfile, который может содержать до приблизительно 4 миллиардов (232) блоков. Максимальный размер одного файла данных или tempfile составляет 128 терабайт (ТБ) для табличного пространства с 32K блоками и 32 ТБ для табличного пространства с 8K блоками.
  • Smallfile tablespace - это традиционное табличное пространство Oracle, которое может содержать 1022 datafile или tempfile, каждый из которых может содержать до приблизительно 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
/

... с оговоркой, что он применим только к назначенным в данный момент датафайлам.

edit 2

MAXSIZE применяется к файлу данных, а не к табличному пространству. Именно поэтому ключевое слово MAXSIZE обсуждается в документации к клаузе filespec, а не в разделе CREATE TABLESPACE.

10
ответ дан 3 December 2019 в 08:29
поделиться

Maxsize - это атрибут dba_data_files

0
ответ дан 3 December 2019 в 08:29
поделиться
Другие вопросы по тегам:

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