Управление структурой базы данных. Управление сегментами отката, страница 5

Рекомендуется выделять пользователям базы данных квоты в табличных пространствах.

Сегменты

Сегмент - это набор экстентов табличного пространства, который содержит все данные для логической структуры определенного типа.

Тип сегмента

Определение

Сегмент отката

Набор экстентов с данными отката для отката транзакций, обеспечения согласованного чтения или восстановления.

Сегмент данных

Набор экстентов с данными таблицы или кластера.

Индексный сегмент

Набор экстентов с данными индекса.

Временный сегмент

Набор экстентов с данными временных объектов.

Сегмент кеша

Экстент, содержащий определения словаря для таблиц словаря, загружаемых при открытии базы данных; не требует внимания со стороны администратора базы данных.

Что такое сегмент?

• Сегмент - это логическая структура, которой выделяется пространство в базе данных. Часто на сегменты ссылаются как на объекты базы данных.

Сегменты не могут выходить за пределы табличного пространства.

•  Экстент - это множество смежных блоков базы данных.

Параметры хранения временных сегментов всегда используют значения параметров хранения по умолчанию соответствующего табличного пространства — их нельзя указать явным образом.


Сегменты отката

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

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

Если в следующем экстенте имеются активные входы, то к сегменту отката добавляются новые экстенты, при условии что не достигнуто максимальное число экстентов.

Характеристики сегментов отката

• В случае ошибки оператора обеспечивают откат транзакции (полностью или до точки сохранения).

• Обеспечивают целостность чтения.

• Используются при восстановлении базы данных.

• Могут содержать записи для любых табличных пространств, кроме сегмента отката SYSTEM.

• Могут содержать записи для нескольких транзакций.

• В табличном пространстве SYSTEM всегда имеется сегмент отката SYSTEM

• Если используется несколько табличных пространств, требуется по крайней мере один дополнительный сегмент отката.

Сегменты данных и индексов

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

Сегменты

Тип сегмента

Функция

Табличный

Содержит строки одной таблицы.

Индексного кластера

Содержит строки одной или нескольких таблиц, хранящихся совместно на основе значения столбца.

Хеш-кластера

Содержит строки таблицы, хранящейся на основе алгоритма хеширования.

Индекса

Содержит индексы для одного или нескольких столбцов таблицы с целью повышения производительности выборки данных.

Что такое кластеры?

• Кластеры определяют структуру хранения, каждый кластер содержит определение одной или нескольких таблиц.

Хеш-кластеры могут содержать несколько таблиц, хотя это бывает нечасто

• С точки зрения пользователя все таблицы в кластере автономны

Временные сегменты

Временные сегменты обеспечивают серверу Oracle рабочее пространство для сортировки данных.

Характеристики временных сегментов

Временные сегменты:

• Автоматически создаются сервером Oracle для выполнения сложных операций типа соединения, группировки, создания индекса и любых других, включающих сортировку.

• Если оперативной памяти недостаточно, создаются в табличном пространстве.

• Создаются для транзакции по мере надобности

• Освобождаются в конце транзакции (процессом SMON).

• Не копируются в журнал, поскольку не требуются для обеспечения целостности данных.

Временные сегменты как часть постоянного табличного пространства

• Каждое табличное пространство может содержать временные сегменты.