Управление максимальным квантом обработки запросов пользователя
Функция
Определение оператора управления максимальным квантом обработки SQL-запросов конкретного пользователя.
Спецификация
::=
Синтаксические правила
-
Параметр
< размер >
задает максимальный размер кванта (от 1 до 65535 сек.) в течение которого будут непрерывно выполняться запросы заданного пользователя (см. документ «СУБД ЛИНТЕР. Архитектура СУБД»). -
Если длительность непрерывного выполнения запроса пользователя превысит установленный
< размер >
, его обработка прекращается с выдачей кода завершения 183 («Выполнение запроса препятствует выполнению других запросов»). -
Опция
UNLIMITED
устанавливает неограниченный максимальный квант обработки SQL-запросов указанного пользователя.Примечание
При установке опции
UNLIMITED
для пользователя запросы прочих пользователей будут ожидать завершения выполнения запросов указанного пользователя.
Общие правила
-
Устанавливать максимальный размер кванта обработки запросов пользователя имеет право только создатель БД.
-
По умолчанию значение
< размер >
принимается равным 120 секунд. -
Установленное ограничение сохраняется в БД, распространяется на все каналы, по которым подаются запросы пользователя, и начинает применяться ко всем SQL-запросам, поданным после команды
SET QUANT TIMEOUT
.create user TEST identified by '12345678'; grant DBA to TEST; username TEST/12345678 set quant timeout limit 5 for TEST; Состояние выполнения: 1022 (нарушение привилегий) username SYSTEM/MANAGER8 set quant timeout limit 5 for TEST; select case when getbyte($$$s35,225) & 0x10 < > 0 then case when getbyte($$$s35,228) = 0 then 'UNLIMITED' else cast getbyte($$$s35,228) as char end else 'DEFAULT' end from $$$usr where $$$s31 > 0 and $$$s32 = 0 and $$$s34='SYSTEM'; | 5|
-
Если для пользователя установлен максимальный размер кванта, то изменить его для сессии данной командой можно только в меньшую сторону.