Thanks for the question, Navinth.
Asked: May 20, 2024 - 3:24 am UTC
Last updated: May 27, 2024 - 3:38 am UTC
Version: 19.0
Viewed 1000+ times
You Asked
Hi Team,
I have a question about the background execution of dequeue procedures Oracle Advanced Queuing.
We are using Oracle 19c & in our case, we are enqueuing AQ messages through DML triggers using dbms_aq.enqueue. Then we dequeue using dbms_aq.dequeue through a subscriber procedure. The subscriber procedure is already registered to the queue using dbms_aq.register.
Could you please explain what sort of Oracle process is executing this subscriber procedure? Is it by processes related to Oracle scheduler (DBMS_SCHEDULER) which is controlled by JOB_QUEUE_PROCESSES or some other set of processes?
I could not find this piece of information in the Oracle documentation & this is vital for us in allocating processes for DB instances.
Thanks & Best Regards,
Navinth
and Connor said...
DBMS_JOB and DBMS_SCHEDULER are effectively synonymous nowadays. For more details see here
But yes, there are definitely background activities going on via the Queue processes (QMON etc) and the scheduler subsystem. For example, callbacks and notifications typically will be done by a job being submitted by the database on your behalf.
In a nutshell, ensure that job_queue_processes is set to a reasonable value.