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

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

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

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

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

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

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

Схемы

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

Блоки данных

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

Экстенты

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

Сегменты

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

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

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

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

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

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

Далее: Использование Языка Структурированных Запросов SQL

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

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

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

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