/ / Спиране на Oracle SQL заявката автоматично, използвайки ограничения на профила - sql, Oracle, timeout, limit, settimeout

Спиране на Oracle SQL заявката автоматично, като се използват ограничения на профила - sql, Oracle, timeout, limit, settimeout

Искам да огранича потребителя на Oracle, като изпълнявам заявка повече от 15 секунди, за това създадох нов профил с този скрипт по-долу и го присвоих на потребителя.


Създаване на профил jibo_test_profile LIMIT
SESSIONS_PER_USER неограничен
CPU_PER_SESSION НЕОГРАНИЧЕН
CPU_PER_CALL 1500
CONNECT_TIME 45
LOGICAL_READS_PER_SESSION DEFAULT
LOGICAL_READS_PER_CALL 1000
PRIVATE_SGA 15K
COMPOSITE_LIMIT 5000000; </ P>

след това се опитах да изпълня проста заявка за избор(изберете * от нещо), което работи повече от 15 секунди, но не спира, когато времето за изпълнение на заявката достигне 15 секунди (дори 5 минути :)) след това се опитах да задам "CPU_PER_SESSION" 1500, но без никаква промяна.

Имате ли някакви идеи защо тази граница не работи за мен?

Отговори:

1 за отговор № 1

Причината за проблема е, че ограничението на ресурсите е зададено на "невярно", така че ограниченията на потребителския профил не са работили.

За да използвате лимитите на потребителския профил, RESOURCE_LIMIT трябва да бъде настроено на "true"

ALTER SYSTEM SET RESOURCE_LIMIT = true;