Ограничение времени работы всех неактивных сессий СУБД

Функция

Ограничение времени работы неактивных сессий БД.

Спецификация
   
<ограничение времени работы неактивных сессий БД>::=
ALTER DATABASE SET SESSION TIME LIMIT {значение | OFF}
Синтаксические правила
  1. Команда действует на все сессии СУБД, открытые с момента выполнения команды и задаёт числовое <значение> времени в минутах (в интервале от 1 до 262144), через которое все каналы неактивных сессий будут автоматически закрыты.

  2. Команда запоминается ядром СУБД и действует при каждом запуске ядра СУБД, предупреждая пользователя в случае установленного <значения> выдачей на консоль ядра сообщения: "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 сек.

Общие правила
  1. Для выполнения оператора необходимы привилегии DBA.

Пример
alter database set session time limit 5;