Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Блокировки



Заключительным аспектом базы данных 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 обновляет данные в строках таблицы, никто не может изменять строки, но пользователи могут просматривать данные строк, подвергающихся изменению.





Дата публикования: 2014-12-11; Прочитано: 193 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...