Для чего используются задания планировщика AQ $ _PLSQL_NTFNnnnn? - PullRequest
4 голосов
/ 07 июля 2011

Я вообще не использую Advanced Queuing, но количество планировщиков AQ$_PLSQL_NTFNnnnn постоянно растет.

В настоящее время существует 8 таких рабочих мест. И из-за них - мне нужно обновить максимальное количество одновременных заданий.

Около 2 месяцев назад это было нормально с лимитом 10, в настоящее время у меня есть лимит 15 и из-за 8 "ненужных" (по крайней мере для меня) рабочих мест - мне нужно увеличить его до 20 или 25: -S

Итак, для чего они используются? Могу ли я просто удалить / отключить их?

UPD : я увеличил количество одновременных заданий до 25, и в эту ночь количество заданий AQ ... выросло до 25: -S Это шутка?!

Ответы [ 2 ]

2 голосов
/ 11 июля 2011

Мне кажется, что где-то в вашей базе данных используется AQ.

Я немного погуглил, и здесь есть некоторая полезная информация - http://www.ora600.be/node/5547 - в основном скрытый параметр _srvntfn_max_concurrent_jobs, который, по-видимому, ограничивает общее количество заданий, выполняемых для уведомлений.

Информация кажется труднодоступной, но, очевидно, уведомления попадают в таблицу sys.alert_qt, так что вы можете попробовать заглянуть туда, чтобы увидеть, что появляется.

Вы также можете заглянуть в таблицы ALL_QUEUES и другие таблицы ALL_QUEUE *, чтобы узнать, есть ли какие-либо очереди в вашей базе данных, о которых вы не знаете.

Я предполагаю, что вы используете Oracle 11gR1 или 11gR2?

0 голосов
/ 17 августа 2016

При использовании функции обратного вызова PL / SQL для обработки очереди AQ мы видели, как генерируются эти задания. Вы можете проверить эту таблицу, чтобы найти любые зарегистрированные подписки:

  select * from   dba_subscr_registrations;

Подробнее об обратном вызове AQ PL / SQL

...