Транзакции и Откат

Рубрика: Технология Ретроспекции I

Когда начинается транзакция, она назначается сегменту отката. В течение жизни транзакции, когда данные изменяются, исходные "старые" значения копируются в сегмент отката.

Транзакции и Откат

Можно увидеть, какие транзакции каким сегментам отката назначаются, проверяя представление V$TRANSACTION.

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

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

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

Отметьте: Параллельные операции DML могут фактически заставить транзакцию использовать больше чем один сегмент отката. Чтобы узнать больше о параллельном выполнении DML, см. Руководство Администратора БД Oracle.

Далее: Процесс установки Архива Ретроспекции

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

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

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

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