03июн
Блокировки вручную
Обычно сервер ORACLE сам устанавливает блокировки, но у пользователей также есть возможность вмешаться в этот процесс. Это можно осуществить двумя путями:
- Блокирование вручную с помощью операторов sql
- Блокирование с помощью пакета dbms_lock
В первом случае используются следующие операторы:
- Select for update – основной метод блокирования вручную, используется часто в приложениях для блокирования строчек, которые необходимо изменить.
- Lock table – используется редко в приложениях, так как блокирует таблицу, а не строчки в таблице. При изменении строк, они блокируются как обычно. Оператор lock table in exclusive mode имеет смысл использовать при пакетной обработке данных. То есть когда нужно изменить много записей и необходимо будь уверенным, что никто в процессе их не заблокирует.
Во втором случае используется пакет dbms_lock. См. соответствующий раздел.