Oracle Advanced Queuing

In computing, Oracle Advanced Queuing (AQ) is a sort of message-oriented middleware developed by Oracle Corporation and integrated into its Oracle database.

AQ uses database structures as a repository for asynchronous queuing as an element in various Oracle-oriented and heterogeneous operations. Oracle features utilising Advanced Queuing include:
 * Oracle Data Guard
 * Oracle Streams

In Oracle Data Guard primary databases the queue monitor process (often running as qmn0) interacts with AQ.

As of Oracle release 9.2, AQ comes bundled with Standard Edition and Enterprise Edition at no extra cost.

As of Oracle release 10.1, AQ is integrated into Oracle Streams, and is called "Oracle Streams AQ".

As of Oracle release 12.1, Oracle Streams is deprecated and AQ is again named just "Oracle AQ".

Oracle AQ is used as the internal Java Message Service provider in the Oracle Enterprise Service Bus. In addition to asynchronous message exchanges (point-to-point and publish–subscribe), Oracle AQ can also perform message transformation via SQL functions.

Oracle AQ is available in all editions of Oracle database, including XE.