Skip to Main Content
  • Questions
  • Background execution of dequeuing procedures in Oracle Advanced Queuing

Breadcrumb

Question and Answer

Connor McDonald

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.


More to Explore

PL/SQL demos

Check out more PL/SQL tutorials on our LiveSQL tool.

PL/SQL docs

PL/SQL reference manual from the Oracle documentation library