Будут ли два одновременных обновления в одной строке Oracle 11 вызывать взаимоблокировку или сбой обновления? - PullRequest
0 голосов
/ 24 октября 2019

У меня есть микросервис, который пытается обновить строку в базе данных Oracle 11, выполнив два параллельных вызова. Эти вызовы должны обновлять разные столбцы. Это приведет к тупику? Или один вызов заблокирует данную строку, а другой вызов будет ожидать снятия блокировки?

1 Ответ

1 голос
/ 24 октября 2019

Не совсем тупик . Взаимная блокировка возникает, когда два процесса блокируют одни и те же строки в разном порядке. В вашем случае, если изменяется только строка, второй сеанс будет ждать первого (т. Е. Того, который первым выполнил инструкцию update) либо commit, либо rollback. Тогда он будет выполнять свои собственные update.

...