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

Функция

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

Спецификация
   
< ограничение времени работы неактивных сессий БД >::=
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 в документе «Запуск и останов СУБД ЛИНТЕР в среде ОС Linux, Unix», подраздел «Ключи управления функционированием» или РСКЮ.10007-60 34 01-1 «Запуск и останов СУБД ЛИНТЕР в среде ОС Windows», подраздел «Ключи управления функционированием»). То есть, если мы выполнили команду:

alter database set session time limit 1;

то неактивная сессия, по которой подана команда, будет закрыта через промежуток времени в интервале от 1 мин до 1 мин. 30 сек.

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

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