Posts Tagged ‘блокировки’

Конструкция select for update

Четверг, Апрель 10th, 2014

Ни для кого не секрет, что в различных СУБД блокирование реализовано по разному. Есть несколько основных принципов блокирования в СУБД Oracle, незнание которых может привести к возникновению ошибок в приложениях.

  • Oracle блокирует данные на уровне строк и только при изменении. Эскалация блокировок до уровня блока или таблицы никогда не выполняется.
  • Oracle никогда не блокирует данные с целью считывания. При обычном считывание блокировки на строки не устанавливаются.
  • Сеанс, записывающий данные не блокирует сеанс, читающий данные.
  • Сеанс записи данных блокируется, только если сеанс записи уже заблокировал строку, которую предполагается изменять. Сеанс считывания данных никогда не блокирует сеанс записи.

(далее…)