Логические и Физические Структуры базы данных

Рубрика: Понятия и Инструменты Oracle

У базы данных есть логические структуры и физические структуры.

Логические и Физические Структуры базы данных

Базы данных, Табличные пространства и Файлы данных

Отношение между базами данных, табличными пространствами и файлами данных показано на рисунке. Каждая база данных логически делится на два или более табличных пространства. Один или более файлов данных явно создаются для каждой табличного пространства, чтобы физически хранить данные всех сегментов в табличном пространстве. Если это ВРЕМЕННОЕ табличное пространство, у него имеется временный файл вместо файла данных. Файл данных табличного пространства может быть физически сохранен на любой поддерживаемой технологии хранения.

Табличные пространства

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

Блоки данных

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

Экстенты

Следующим уровнем логического пространства базы данных является экстент. Экстент является определенным количеством непрерывных блоков данных Oracle (полученных за одно выделение), которые используются, чтобы хранить определенный тип информации. Блоки данных Oracle в экстентах логически непрерывны, но могут быть физически распределены на диске из-за чередования RAID и реализаций файловой системы.

Сегменты

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

  • Сегменты данных: Каждая некластеризируемая, не индексно-организованная таблица имеет сегмент данных, за исключением внешних таблиц, глобальных временных таблиц и разделенных таблиц, в которых у каждой таблицы есть один или более сегментов. Все данные таблицы хранятся в экстентах ее сегмента данных. Для разделенной таблицы у каждого раздела есть свой сегмент данных. У каждого кластера есть сегмент данных. Данные каждой таблицы в кластере хранятся в сегменте данных кластера.

  • Индексные сегменты: У каждого индекса есть индексный сегмент, который хранит все его данные. Для разделенного индекса у каждого раздела есть индексный сегмент.

  • Сегменты отката: Одно табличное пространство ОТКАТА создается для каждого экземпляра базы данных. Эта табличное пространство содержит многочисленные сегменты отката, чтобы временно хранить информацию отката. Информация в сегменте отката используется, чтобы генерировать непротиворечивую по чтению информацию в базе данных, а также во время восстановления базы данных, откатывая незафиксированные транзакции пользователей.

  • Временные сегменты: Временные сегменты создаются базой данных Oracle, когда SQL-оператор нуждается во временной рабочей области, чтобы завершить выполнение. Когда выполнение оператора завершается, экстенты временного сегмента возвращаются экземпляру для будущего использования. Определите либо временное табличное пространство по умолчанию для каждого пользователя, либо временное табличное пространство по умолчанию, которое будет использоваться для всей базы данных.

Отметьте: Есть и другие типы сегментов, не упомянутые выше. Есть также объекты схемы, такие как представления, пакеты, триггеры и т.д. которые не считаются сегментами даже при том, что они являются объектами базы данных. Сегменту принадлежит его соответствующее выделение дискового пространства. Другие объекты существуют в виде строк, хранимых в системном сегменте метаданных.

База данных Oracle динамически выделяет место. Когда существующие экстенты сегмента полны, выделяются дополнительные экстенты. Поскольку экстенты выделяются при необходимости, экстенты сегмента могут быть, а могут и не быть непрерывными на диске, и они могут быть выделены из различных файлов данных, принадлежащих тому же самому табличному пространству.

Далее: Команды задания RMAN - Пример

Смотрите также
Комментарии
Написать

(обязательно)

(обязательно)

Это не спам (обязательно)