Ограничение времени работы всех неактивных сессий СУБД
Функция
Ограничение времени работы неактивных сессий БД.
Спецификация
::=
::=
Синтаксические правила
-
Команда действует на все сессии СУБД, открытые с момента выполнения команды и задаёт числовое
<значение>
времени в минутах (в интервале от 1 до 262144), через которое все каналы неактивных сессий будут автоматически закрыты. -
Команда запоминается ядром СУБД и действует при каждом запуске ядра СУБД, предупреждая пользователя в случае установленного
<значения>
выдачей на консоль ядра сообщения: "Time limit for inactive sessions is <time_limit> min".
Примечание
«Неактивным» считается канал, находящийся в режиме IDLE, у которого не запущена сортировка и трансляция SQL, который не является каналом события на SELECT-запрос или процедурного события.
Время ограничение сессии инициализируется в момент отсылки последнего сообщения
пользователю и <значение>
отсчитывается от этого момента.
Проверка сессии на «неактивность» осуществляется вместе с проверкой «мёртвых каналов». По умолчанию интервал проверки «мёртвых каналов» составляет 30 секунд, этот интервал может изменяться пользователем (см. ключ /KILL в документе «СУБД ЛИНТЕР. Запуск и останов СУБД ЛИНТЕР в среде ОС UNIX, QNX» или «СУБД ЛИНТЕР. Запуск и останов СУБД ЛИНТЕР в среде ОС Windows»). То есть, если мы выполнили команду:
alter database set session time limit 1;
то неактивная сессия, по которой подана команда, будет закрыта через промежуток времени в интервале от 1 мин до 1 мин. 30 сек.
Общие правила
-
Для выполнения оператора необходимы привилегии DBA.
Пример
alter database set session time limit 5;