05июл JOB_QUEUE_PROCESSES

Столкнулись с непонятной проблемой: задание (job) автоматически не стартует в указанное время.

На новом сервере нужно было запустить в фоновом режиме задание, которое должно стартовать через каждую минуту.

Что может быть проще? Есть пакет dbms_job, бери да создавай задание. С этого и начали:

declare
 jn number;
begin
 dbms_job.submit(jn,'begin МОЕ ЗАДАНИЕ end;',sysdate,'sysdate+1/1440');
 commit;
end;
/

Задание создается, но автоматически не стартует по заданному плану.

С помощью процедуры dbms_job.run задание выполняется. Значит, фоновые процессы не запускаются. Посмотрев на параметры инициализации этого сервера, увидели, что JOB_QUEUE_PROCESSES=0.

Выставили значение, для начала, равным 10. Все заработало.

Комментарии (1)

[35] Комментарий от Anonymous   20.11.2007(10:33:01)
Про значение JOB_QUEUE_PROCESSES видел такой комментарий "Количество одновременно запускаемых фоновых процессов Oracle ( jobs ) определяется в основном конфигурацией сервера а именно одновременным количеством процессоров (ядер) сконфигурированном для использовния БД Oracle. Приближённая оценка  job _queue_processes = 1,5 * "количество ядер для оракле". В любом случае количество должно быть более 2. При слишком большом значении job_ queue_processes  возможна конкуренция за процессорные ресурсы сервера (частое переключение контекста) - что снижает производительности системы в целом. Оптимальное значение выбирается из результатов эксплуатации системы используя статистику работы операционной системы так и оракле и может существенно отличаться от оценочного как в большую так и в меньшую сторону."



Новый комментарий

Имя
Электронная почта
 
Ваш сайт
Защита от спама: укажите сумму 4 + 4
   
 

Поиск по блогам



Подпишись на RSS:

RSS - Подписаться на блог



Читателям


Рекомендую к прочтению





Разделы блога



Последние публикации



Последние коментарии