Базы данных Oracle - статьи

         

Блокировки транзакций. Захват в исключительном и ожидание в разделяемом режимах.


Пришло время рассмотреть второй  сценарий возникновения ситуации взаимных блокировок. Его отличие от предыдущего заключается в том, что одна из TX-блокировок здесь находится в исключительном режиме, а вторая, ожидающая, – в разделяемом. Условий для возникновения такой взаимной блокировки на самом деле не так уж много, вернее, их всего три: нехватка места в таблице транзакций, перекрытие фрагментов индекса на основе битовых карт и  наложение значений первичного или уникального ключа при вставке. В какой-то мере к последнему условию можно отнести и DML-операции с таблицами, организованными по индексу.

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



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