как вызвать множество процедур одновременно, не используя задания и цепочку - PullRequest
0 голосов
/ 23 сентября 2019

У меня есть пакет внутри пакета, и у меня есть 15 процедур, но я буду запускать 5 процедур одновременно,

пример: вызов proc1 --- 12:22:55
вызов proc2---12: 22: 55
вызов proc3 --- 12:22:55
вызов proc4 --- 12:22:55

Я знаю, что с помощью цепочек и заданий этовозможно.

Без заданий и цепочек через передний конец 1 попадание 4 процедуры будут выполняться одновременно.

Я хочу запустить эти четыре процесса одновременно.

1 Ответ

0 голосов
/ 23 сентября 2019

Вы можете достичь этого, используя dbms_job

Просто создайте один master procedure, который будет вызывать все child procedures параллельно следующим образом:

CREATE OR REPLACE PROCEDURE MASTER_PROC AS

BEGIN

DBMS_JOB.SUBMIT(L_JOB, 'PROC1;');
DBMS_JOB.SUBMIT(L_JOB, 'PROC2;');
DBMS_JOB.SUBMIT(L_JOB, 'PROC3;');
DBMS_JOB.SUBMIT(L_JOB, 'PROC4;');

END MASTER_PROC;
/

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

Cheers !!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...