Не совсем уверен, что вы запрашиваете.
В настоящее время у вас есть 50 сеансов базы данных. Допустим, вы получаете 40 запущенных длительных запросов, а 10 оставляют для обслуживания остальных.
То, что вы, похоже, запрашиваете, так это то, что вы хотите, чтобы эти 40 запросов асинхронно (выполнялись в фоновом режиме) не забивали пул соединений из 50. Вопрос в том, хотите ли вы, чтобы эти 40 выполнялись одновременно с (потенциально) другими 50 запросы из пула соединений, или вы хотите, чтобы они каким-то образом были поставлены в очередь?
Очередь может быть выполнена (смотрите DBMS_SCHEDULER и DBMS_JOB). Но вам нужно будет доставить эти результаты в какую-то другую таблицу и знать, как доставить этот набор результатов. Старый способ - просто создавать отчеты по запросу, которые доставляются в каталог на общем диске или по электронной почте. Может быть PDF или CSV или Excel.
Если вы хотите, чтобы 40 одновременно работал с 50 настройками «пула соединений», то вам лучше всего настроить отдельный пул соединений для долго выполняющихся запросов.
Вы можете заглянуть в Resource Manager для завершения вызовов, которые занимают слишком много или слишком много ресурсов. Таким образом, пул быстрого доступа не может быть перегружен долгосрочными запросами.