Проектирование баз данных для экономических информационных систем в среде сервера данных ORACLE 7.3. Меркулова Т.А - 55 стр.

UptoLike

57
2. Транзакции
2.1. Организация многопользовательского доступа к
информационным ресурсам Понятие транзакции:
Транзакцией называют активный процесс, порожденный каким-либо
запросом в многопользовательской системе. Транзакция, которая
использует общий информационный ресурс в общем случае при
одновременном срабатывании работает некорректно. Например,
транзакции T
1
и T
2
(рис. 3.1.) должны дважды изменить значение X, но
при параллельном исполнении Х меняется только один раз.
Read X
T
1
; T
2
X=X+1
WRITE X
T
1
; T
2
=3
t
1
: T
1
, read X
1
loc
=1
t
2
: T
2
, read X
2
loc
=1
t
3
: T
1
, X=X+1 X
1
loc
=2
t
4
: T
2
, X=X=1 X
2
loc
=2
t
5
; T
1
X
1
loc
X=2
t
6
; T
2
X
2
loc
X=2
Рис. 3.1. Проблема общего ресурса для нескольких транзакций
Каждая транзакция считается успешно закончившейся, если она
выполнялась до конца. Если транзакция не может закончится
корректно, она должна вернуть общий информационный ресурс к
исходному состоянию. СД для обслуживания транзакций выполняет
блокировки ресурсов (рис. 3.2.) и откат общего ресурса к исходному
состоянию.
БЛОКИРОВКА
Read A Read B
Read B Read A
t
1
: Read A - blok
t
2
: Read B - blok
….. ……
write A write B
write B write A
Рис. 3.2. Коллизии кратных ресурсов