Механизм Пула Активных Сеансов

Рубрика: Управление Ресурсами

Используя функцию Пула Активных Сеансов, можно управлять максимальным количеством одновременно активных сеансов на потребительскую группу ресурсов. С этой функциональностью DBA может косвенно управлять количеством ресурсов, которые использует любая потребительская группа ресурсов, потому что потребление ресурсов пропорционально числу активных сеансов.

Механизм Пула Активных Сеансов

Использование пула активных сеансов может помочь сократить количество серверов, берущих ресурсы системы, таким образом избегая неэффективного свопинга и другого истощения ресурсов (таких как память), следующего за попыткой выполнить слишком много заданий одновременно.

После того, как Пул Активных Сеансов заполнен активными сеансами, Менеджер ресурсов ставит в очередь все последующие сеансы, пытающиеся стать активными, пока другие активные сеансы не завершатся или станут неактивными. Активный сеанс - это сеанс, в настоящий момент включенный в транзакцию, запрос, или параллельную операцию. Отдельные параллельные вспомогательные задачи не считаются как сеансы; вся параллельная работа рассчитывается как один активный сеанс.

Есть только одна очередь на потребительскую группу ресурсов, и метод организации очереди сделан согласно алгоритму первый пришел, первый ушел (FIFO) с тайм-аутом. Очередь реализуется как структура памяти и не может запрашиваться непосредственно.

Установка Пула Активных Сеансов

Установка Пула Активных Сеансов

Можно легко сконфигурировать настройки Пула Активных Сеансов для ресурсного плана при использовании Enterprise Manager.

Пример, если Вы ограничиваете Максимальное количество Активных Сеансов до 50 для потребительской группы APPUSER:

BEGIN
dbms_resource_manager.clear_pending_area();
dbms_resource_manager.create_pending_area();
dbms_resource_manager.update_plan_directive(
    plan => 'DEFAULT_PLAN',
    group_or_subplan => 'APPUSER',
    new_comment => '',
    new_active_sess_pool_p1 => 50,
    new_queueing_p1 => NULL,
    new_parallel_degree_limit_p1 => NULL,
    new_switch_group => '',
    new_switch_time => NULL,
    new_switch_estimate => false,		
    new_max_est_exec_time => NULL,
    new_undo_pool => NULL,
    new_max_idle_time => NULL,
    new_max_idle_blocker_time => NULL,
    mgmt_p1 => NULL, 
    mgmt_p2 => NULL, 
    mgmt_p3 => 60, 
    mgmt_p4 => NULL, 
    mgmt_p5 => NULL, 
    mgmt_p6 => NULL, 
    mgmt_p7 => NULL, 
    mgmt_p8 => NULL,
    switch_io_megabytes => NULL,  
    switch_io_reqs => NULL,
    switch_for call);
    dbms_resource_manager.submit_pending_area();
END; 
							

Далее: Создание Основанного на событии Задания

Смотрите также
Комментарии
Написать

(обязательно)

(обязательно)

Это не спам (обязательно)