Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LAB_5_dbms.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
758.78 Кб
Скачать

Завершение активных сеансов

Если пользователь выполняет 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.

Ход работы

  1. Подсоединитесь к базе данных в среде SQL*Plus как system/manager и зарегистрируйте пользователя bert с паролем bert. В качестве табличного пространства для временных сегментов укажите пространство TEMP1. Выделите пользователю bert неограниченную квоту в табличном пространстве SYSTEM.

  2. Определите с помощью представления DBA_USERS, какие табличные пространства и профиль назначены пользователю bert. С помощью представления DBA_TS_QUOTAS определите квоты, выделенные пользователю bert.

  1. Зарегистрируйте пользователя ernie с паролем ernie, назначив ему табличное пространство по умолчанию USER_DATA и пространство для временных сегментов TEMP1. He выделяйте пользователю ernie никаких квот.

  1. После регистрации пользователей ernie и bert необходимо решить, какие квоты выделить этим пользователям в табличных пространствах TEMP1 и RBS. Пользователь bert должен создавать таблицы, представления и индексы, и в конце каждого месяца выдавать отчеты, а пользователь ernie изменять таблицы, принадлежащие пользователю bert. Какие квоты должны быть предоставлены обоим пользователям в табличных пространствах TEMP1 и RBS?

  2. Получите список всех пользователей, зарегистрированных в базе данных.

В последующих пунктах лабораторной работы табличное пространство SYSTEM "разгружается" от временных и других сегментов, не относящихся к словарю данных базы данных

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]