Доступные версии документации

Управление максимальным квантом обработки запросов пользователя

Функция

Определение оператора управления максимальным квантом обработки SQL-запросов конкретного пользователя.

Спецификация
   
<управление максимальным квантом обработки запросов пользователя>::=
SET {QUANT | QUANTUM} TIMEOUT {LIMIT размер | UNLIMITED}
FOR имя пользователя
Синтаксические правила
  1. Параметр <размер> задает максимальный размер кванта (от 1 до 65535 сек.) в течение которого будут непрерывно выполняться запросы заданного пользователя (см. документ «СУБД ЛИНТЕР. Архитектура СУБД»).

  2. Если длительность непрерывного выполнения запроса пользователя превысит установленный <размер>, его обработка прекращается с выдачей кода завершения 183 («Выполнение запроса препятствует выполнению других запросов»).

  3. Опция UNLIMITED устанавливает неограниченный максимальный квант обработки SQL-запросов указанного пользователя.

    Примечание

    При установке опции UNLIMITED для пользователя запросы прочих пользователей будут ожидать завершения выполнения запросов указанного пользователя.

Общие правила
  1. Устанавливать максимальный размер кванта обработки запросов пользователя имеет право только создатель БД.

  2. По умолчанию значение <размер> принимается равным 120 секунд.

  3. Установленное ограничение сохраняется в БД, распространяется на все каналы, по которым подаются запросы пользователя, и начинает применяться ко всем SQL-запросам, поданным после команды SET QUANT TIMEOUT.

    create user TEST identified by 'TEST';
    grant DBA to TEST;
    username TEST/TEST
    set quant timeout limit 5 for TEST;
    Состояние выполнения: 1022 (нарушение привилегий)
    username SYSTEM/MANAGER
    set quant timeout limit 5 for TEST;
    select getbyte($$$s35,228) from $$$usr where $$$s34='TEST';
    | 5|
  4. Если для пользователя установлен максимальный размер кванта, то изменить его для сессии данной командой можно только в меньшую сторону.

Заметили ошибку?
Выделите текст и нажмите Ctrl + Enter