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

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

• Динамическое расширение временных таблиц может привести к появлению фрагментации.

• АБД имеет возможность задать для каждого пользователя табличное

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

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

Загрузочный (bootstrap) сегмент

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

Загрузочный сегмент

• Называется также сегментом кеша.

• Недоступен для пользователя.

• Размещается в табличном пространстве SYSTEM и принадлежит пользователю

sys.

Не зависит от действий со стороны АБД.

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

Используйте несколько сегментов отката

•     Выбирайте общие или частные сегменты отката

•     Устанавливайте правильный размер сегмента отката

•     Управляйте сегментами отката с помощью Sегvег Мапаgег

•     Задавайте оптимальное число экстентов для каждого сегмента отката

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

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

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

Позволяют делать откат транзакции (полный или частичный - к точке сохранения)

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

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

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

•    Могут собирать изменения из нескольких транзакций. В табличном пространстве SYSТЕМ всегда есть сегмент отката SYSТЕМ

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

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

Содержат несколько записей для разных транзакций

Хранят информацию о номере файла и блока, а также значения данных до обновления

Могут расти при больших или долгих транзакциях

-  Могут назначаться транзакциям явно или неявно

-  Могут сокращаться в размере командой АLTER ROLLBASK SEGMENT <нмя> SHRINK  ТО «размер»-

•     Могут автоматически сокращаться при превышении заданного размера

Сервер Огасlе требует, чтобы сегмент отката SYSТЕМ всегда был оперативным, пока база данных открыта

Сегмент отката SYSТЕМ создается при начальном создании базы данных.

Если транзакция требует, чтобы ее изменения продолжали записываться в другой экстент сегмента отката, Огасlе сравнивает текущий размер сегмента отката с оптимальным Если этот сегмент больше оптимального размера, а следующий за только что заполненным экстент не активен, Огасlе освобождает неактивные экстенты этого сегмента отката, пока общий размер сегмента отката не станет равным или максимально приблизится к оптимальному (но не меньше)

Транзакции можно явно назначить конкретный сегмент отката с помощью команды .SET TRANSACTION USE ROLLВАСК SEGMENT

Для сегментов отката нельзя задавать РСТINCREASE

Значение для ОРTIMAL можно определить, следя за V$ROLLSТАТ, или используя монитор сегментов отката графического интерфейса Sегvег Мапаgег

Задавайте параметры хранения сегментов отката ,

• INITIAL

• NEXT

• MINEXTENTS

• МАХЕХТЕNTS

• ОРТIMAL.

Подбор значений параметров

• ОРТIMАL задает оптимальный размер сегмента отката в байтах

Когда размер сегмента отката становится больше, чем ОРТIMАL, сервер Огасlе освобождает экстенты.