Вы можете реализовать это следующим образом: программа заданий планировщика реализована в виде бесконечного цикла - без сбоев. Этот цикл выводит сообщения из AQ и обрабатывает их. Задание планировщика отправляется только один раз - из системы событий даже запускается AFTER STARTUP ON DATABASE
.
Он не использует ни цепочки планировщика, ни какие-либо другие расширенные опции планировщика. Просто задание планировщика запускается триггером, когда база данных начинает работать, задание «никогда не заканчивается» .
Но я думаю, что dbms_scheduler очень мощен в наше время, и есть способы, как ограничить параллельное выполнение для расписания.
PS: ORA-20000 - это определенный пользователем код ошибки. База данных никогда не возвращает такую ошибку самостоятельно.