Структурированный язык запросов SQL к базам данных в многопользовательских системах
а также на максимальное число блокировок в запросах приложений. Большое количество блокировок может привести к превышению используемых ресурсов и блокировании работы всех пользователей, работающих с транзакциями. Особенности использования модифицируемого замка В СУБД третьего поколения введены модифицируемые замки для организации чтения с последующей модификацией, которое выполняется только с помощью блокирующего курсора (CURSOR FOR UPDATE). При этом модифицируемый замок ставится на читаемые курсором кортежи для любого установленного уровня изоляции. Для «повторяемого чтения» модифицируемые замки ставятся на все кортежи активного множества курсора и снимаются по окончании транзакции, а для всех остальных уровней только для текущего курсора и замок снимается с него при чтении следующего кортежа или завершении транзакции. Модифицируемый замок может быть установлен на конкретный кортеж только один, совместим с произвольным количеством разделяемых замков, но не совместим с исключающим замком. Допустим, что на кортеж установлен модифицируемый замок и разделяемый замок. Если приложение, установившее модифицируемый замок, попытается изменить текущий кортеж и заменить модифицируемый замок на исключающий, тогда разделяемый замок будет блокировать попытку приложения «исключить» или «обновить» кортеж и будет выдано пользователю сообщение об ошибке. При управлении доступом следует отметить важные для использования особенности: 1. Уровень изоляции определяет организацию доступа к данным, которые обрабатываются одновременно несколькими пользователями. Причем управлять доступом параллельно работающих пользователей можно только внутри транзакций.
Made with FlippingBook
RkJQdWJsaXNoZXIy MTY0OTYy