Показать сообщение отдельно
  #29  
Старый 24.09.2009, 15:12
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию Взаимоблокировки



Взаимоблокировки

Взаимоблокировка (deadlock) - это специальный случай конфликта блокировок. Взаимоблокировка возникают, когда два или несколько сеансов ожидают доступа к данным, блокированным друг у друга. Поскольку каждый ждет другого, ни один не может завершить свою транзакцию, чтобы разрешить конфликт.

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

В примере на слайде транзакция 1 должна либо выполнить фиксацию, либо откат в ответ на получение сообщения об ошибке, вызванной взаимоблокировкой. Для завершения транзакции путем фиксации ее изменений требуется перед этим повторить вторую команду update. Если же произвести откат, тогда после этого в сеансе надо повторить обе команды, чтобы завершить операции транзакции
__________________
Телеграм чат
Ответить с цитированием