Введение в системы управления базами данных

         

SCN транзакции больше SCN счета.



Пример 15

Транзакция A Время Транзакция B Сумма на счетах посчитана правильно.
Проверка SCN счета
SCN транзакции больше SCN счета.
- SCN транзакции больше SCN счета.
Чтение счета
SCN транзакции больше SCN счета.
без наложения блокировки и суммирование.
SCN транзакции больше SCN счета.
SCN транзакции больше SCN счета.
---
---
SCN транзакции больше SCN счета.
X-блокировка счета
SCN транзакции больше SCN счета.
- успешна
---
SCN транзакции больше SCN счета.
Снятие денег со счета
SCN транзакции больше SCN счета.
.
SCN транзакции больше SCN счета.
---
SCN транзакции больше SCN счета.
X-блокировка счета
SCN транзакции больше SCN счета.
- успешна
---
SCN транзакции больше SCN счета.
Помещение денег на счет
SCN транзакции больше SCN счета.
.
SCN транзакции больше SCN счета.
---
SCN транзакции больше SCN счета.
Фиксация транзакции
(Снятие блокировок)
Проверка SCN счета
SCN транзакции больше SCN счета.
- SCN транзакции больше SCN счета.
Чтение счета
SCN транзакции больше SCN счета.
без наложения блокировка и суммирование.
SCN транзакции больше SCN счета.
SCN транзакции больше SCN счета.
---
Проверка SCN счета
SCN транзакции больше SCN счета.
- SCN транзакции МЕНЬШЕ SCN счета.
Чтение старого варианта счета
SCN транзакции больше SCN счета.
и суммирование.
SCN транзакции больше SCN счета.
SCN транзакции больше SCN счета.
---
Фиксация транзакции
SCN транзакции больше SCN счета.
---
 

Результат. Транзакция A, начавшаяся первой не тормозит конкурирующую транзакцию B. При обнаружении конфликта (чтение транзакцией A измененного счета 3), транзакции A предоставляется своя версия данных, которая была на момент начала транзакции A.

Содержание раздела