
- •Лабораторная работа №5 «управление пользователями базы данных, сессиями и использованием системных ресурсов»
- •Создание и управление учетными записями
- •Атрибуты учетной записи
- •Управление учетными записями средствами em
- •Управление профилями
- •Управление профилями средствами em
- •Удаление сеанса пользователя
- •Синтаксис команды alter system
- •Идентификация сеанса, который требуется завершить
- •Завершение активных сеансов
- •Завершение неактивных сеансов
- •Управление сессиями средствами em
- •Ход работы
- •Выполните пункты 1-21 в среде em, для написания запросов (select…) используйте web-интерфейс среды iSql*Plus применительно к пользователям ernie1, bert1. Содержание отчета
- •Цель работы.
Завершение активных сеансов
Если пользователь выполняет SQL инструкции, обращается к серверу Oracle, т.е. его сеанс имеет статус ACTIVE, и его сеанс принудительно завершен, то пользователь немедленно получит сообщение об ошибке:
ORA-00028: your session has been killed
Если после получения сообщения об ошибке пользователь пытается сохранить какие-либо данные или выполняет SQL предложение, то Oracle вернет ошибку:
ORA-01012: not logged on
Иногда активный сеанс не может быть прерван, например, выполняется откат транзакции или идут операции ввода/вывода в сети. В этом случае сеанс держит все ресурсы до своего завершения. Сеанс, выполняющий предложение ALTER SYSTEM, перед завершением ожидает 60 секунд, и затем завершается. Если сеанс не завершается по истечении 60 секунд, то пользователь, инициирующий завершение такого сеанса, получает сообщение о том, что сеанс имеет статус KILLED.
Завершение неактивных сеансов
Если сеанс, имеющий статус INACTIVE, прерывается, сообщение об ошибке (ORA-00028: your session has been killed) возвращается пользователю только при попытке использовать разорванный сеанс.
Как только неактивный сеанс прекращен, его STATUS в представлении V$SESSION принимает значение KILLED.
Для прекращения неактивного сеанса делается выборка из представления V$SESSION для определения SID и номера сеанса, затем сеанс прерывается.
SELECT SID, SERIAL#, STATUS, SERVER
FROM V$SESSION
WHERE USERNAME = 'TEST';
SID SERIAL# STATUS SERVER
----- -------- --------- ---------
7 15 INACTIVE DEDICATED
12 63 INACTIVE DEDICATED
2 rows selected.
ALTER SYSTEM KILL SESSION '7,15';
Statement processed.
Управление сессиями средствами em
Для получения списка сессий в EM переходим на закладку Perfomance, раздел Additional Monitoring Links (нижней части страницы), в нем выбираем Search Sessions.
При просмотре списка сессий возможно задание фильтра.
Для просмотра свойств сессий кликнете на значении её SID.
Ход работы
Подсоединитесь к базе данных в среде SQL*Plus как system/manager и зарегистрируйте пользователя bert с паролем bert. В качестве табличного пространства для временных сегментов укажите пространство TEMP1. Выделите пользователю bert неограниченную квоту в табличном пространстве SYSTEM.
Определите с помощью представления DBA_USERS, какие табличные пространства и профиль назначены пользователю bert. С помощью представления DBA_TS_QUOTAS определите квоты, выделенные пользователю bert.
Зарегистрируйте пользователя ernie с паролем ernie, назначив ему табличное пространство по умолчанию USER_DATA и пространство для временных сегментов TEMP1. He выделяйте пользователю ernie никаких квот.
После регистрации пользователей ernie и bert необходимо решить, какие квоты выделить этим пользователям в табличных пространствах TEMP1 и RBS. Пользователь bert должен создавать таблицы, представления и индексы, и в конце каждого месяца выдавать отчеты, а пользователь ernie изменять таблицы, принадлежащие пользователю bert. Какие квоты должны быть предоставлены обоим пользователям в табличных пространствах TEMP1 и RBS?
Получите список всех пользователей, зарегистрированных в базе данных.
В последующих пунктах лабораторной работы табличное пространство SYSTEM "разгружается" от временных и других сегментов, не относящихся к словарю данных базы данных