Uploaded by Daniel Alter

Л. р. 1 Баластов Д.О.

advertisement
Лабораторная работа №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
Вывод: в результате выполнения данной лабораторной работы, были
получены навыки работы с механизмами блокировок, одной из главных
функций СУБД.
Download