Блокировки. Заключительным аспектом базы данных Oracle, позволяющим пользователям использовать обработку транзакций

Заключительным аспектом базы данных Oracle, позволяющим пользователям использовать обработку транзакций, является блокировка — механизм, с помощью которого Oracle предотвращает одновременное изменение данных несколькими пользователями. Имеется несколько различных типов блокировок, каждый из которых имеет свою собственную область действия. Все имеющиеся в базе данных блокировки могут быть отнесены к одной из двух категорий: блокировки уровня таблиц и блокировки уровня строк.

Блокировки уровня таблиц позволяют делать изменения в таблице только одному пользователю, который, как принято говорить, установил блокировку на эту таблицу. В то время когда таблица заблокирована, никто другой не может делать в ней никаких изменений. Блокировка таблицы может быть установлена в нескольких режимах: разделяемая блокировка строки (row share — RS), исключающая блокировка строки (row exclusive — RX), разделяемая блокировка (share — S), разделяемая блокировка с исключающей блокировкой строки (share row exclusive — SRX) и исключающая блокировка (exclusive — X). Сила накладываемого блокировкой ограничения определяет режимы, в которых могут быть приобретены и поддерживаться другие блокировки для той же самой таблицы.

Блокировка уровня строк дает пользователю эксклюзивную (исключительную) возможность изменять данные одной или нескольких строк таблицы. Однако любая строка таблицы, не удерживаемая в данный момент блокировкой, может быть изменена другим пользователем.

СоветДля оператора update требуется особая блокировка уровня строк, которая называется исключающей блокировкой строк (row-exclusive lock). Такой уровень блокировки означает, что на время выполнения оператора update никто из других пользователей не может ни просматривать, ни изменять данные этой строки. То же самое относится и к операциям insert и delete. Для другого оператора update — он называется select for update требуется более мягкая блокировка строк, которая называется разделяемой блокировкой (share lock) Такая блокировка означает, что в то время, пока оператор update обновляет данные в строках таблицы, никто не может изменять строки, но пользователи могут просматривать данные строк, подвергающихся изменению.








Дата добавления: 2015-08-21; просмотров: 712;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.004 сек.