Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемНикита Яшнев
1 ACID – свойства транзакций 1.Атомарность 2.Согласованность 3.Изолированность 4.Долговечность create table AccountInfo(Name varchar2(100), Account number(10)); update AccountInfo set Accout = Account-sum where Name = NameFrom; update AccountInfo set Accout = Account+sum where Name = NameTo;
2 begin transaction; ……………. savepoint p; update AccountInfo set Accout = Account-sum where Name = NameFrom; if error then begin rollback to savepoint p; выполнение операции снятия со счета ……………. end update AccountInfo set Accout = Account+sum where Name = NameTo; if error then rollback; else commit; ………………………
3 1. Потеря результатов обновления 2. Зависимость от незафиксированных результатов 3. Несогласованная обработка данных select s from t where i = 2 s = old value select * from t where i = 2 s = old value update t set s = new value 1 where i = 2 s = new value 1 update t set s = new value 2 where i = 2 s = new value 2 select s from t where i = 2 s = old value update t set s = new value where i = 2 s = new value select s from t where i = 2 s = new value update t set s = other value where i = 2 s = other value rollback select s from t where i = 2 s = old value select sum(n) from t sum = 3 sum = 0 sum += (select n from t where i = 1) sum = 1 update n = n+1 where i in (2, 3) n = 3, 4 sum += (select n from t where i = 2) sum = 4 sum += (select n from t where i = 4) sum = 8
4 1.Чтение данных незавершенной транзакции – некорректное чтение 2.Чтение данных завершенной транзакции a.Чтение измененных данных- неповторяемое чтение b.Чтение новых (удаленных данных)- чтение фантомов Некорректное чтение Неповторяемое чтение Чтение фантомов READ UNCOMMITED ДА READ COMMITED НЕТДА REPEATABLE READ НЕТ ДА SERIALIZABLEНЕТ
5 Команды Oracle по управлению транзакциями 1.set transaction [read only | read write] 2.set transaction isolation level [serializable | read commited] 3.commit work 4.rollback 5.savepoint 6.rollback to savepoint Просмотр блокировок dba_locks dba_ddl_locks dba_dml_locks dba_lock_internal Отличия в управлении транзакциями в различных СУБД 1.Явные и неявные транзакции 2.Механизм многоверсионности
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.