Лабораторная работа №1 БЛОКИРОВКИ DML – ТАБЛИЧНЫЕ И СТРОЧНЫЕ Цель работы: познакомиться с одной из главных функций СУБД ORACLE 11g – механизмом блокирования (высокий уровень одновременной обработки данных). Выполнение лабораторной работы 1. Создание таблицы cards: create table Cards( card_id NUMERIC NULL, dare_of_change DATE, card_number NUMERIC NULL ); Рис. 1 – Создание таблицы «cards» 2. Создание первого пользователя и просмотр содержимого таблицы от лица данного пользователя. Рис. 2 – Просмотр таблицы от лица пользователя Angela 3. Создание вотрого пользователя и просмотр содержимого таблицы. Рис. 3 – Просмотр таблицы от лица пользователя Jack 4. Создание третьего пользователя и вывод блокировок. Рис. 4 – Вывод блокировок от лица третьего пользователя 5. Создание ситуации перехвата данных первым пользователем. Рис. 5 – Перехват данных 6. Фиксация третьим пользователем RowExclusiveLock для одной из колонок таблицы. Рис. 6 - Фиксация RowExclusiveLock 7. Аналогичная фиксация RowExclusiveLock вторым пользователем для одной из колонок таблицы. Рис. 7 - Фиксация RowExclusiveLock вторым пользователем 8. Так как на запросы для выборки данная блокировка не распространяется, то пользователям выборка выводится без изменений. Рис. 8 – Выборка в исходном виде 9. Производить какие-либо действия с выборкой пользователь тоже не может. Рис. 9 - Отсутствие возможность внести изменения в выборку 10. Блокировка ShareLock свидетельствует о конфликте блокировок, которая не будет решена до завершения транзакции одним из пользователей. Рис. 10 - Блокировка ShareLock Вывод: в результате выполнения данной лабораторной работы, были получены навыки работы с механизмами блокировок, одной из главных функций СУБД.