Advanced Queuing   «Prev  Next»

Lesson 2What is Advanced Queuing?
ObjectiveDefine Oracle Advanced Queuing (AQ) and demonstrate its usage in Oracle 23c

Oracle Advanced Queues (AQ): Concepts, Benefits, and Architecture

The acronym AQ in Oracle stands for Advanced Queuing. Oracle Advanced Queues provide a database-integrated messaging system that allows applications to exchange information asynchronously using database tables as the transport layer. Because AQ is built into the Oracle Database engine, it inherits core database capabilities such as transactional consistency, security, backup and recovery, and high availability.

In this lesson, you will learn what Advanced Queues are, how Oracle stores messages in queue tables, and why AQ remains a relevant option in Oracle 23c and cloud-enabled deployments. Later lessons in this module will show how to enqueue and dequeue messages, build PL/SQL applications, and configure queue propagation. This page focuses on the concepts and architecture.

Learning objectives


Oracle Database 23c

Why use messaging inside the database?

Many applications need to perform work asynchronously. For example, an order-entry system may take a customer’s order immediately, then process payment, inventory checks, and shipment in the background. Rather than forcing all systems to be online and synchronized at once, a messaging system decouples producers and consumers of work.

Oracle Advanced Queues implement this messaging layer inside the database. Instead of running a separate message broker, AQ uses Oracle tables to store messages and Oracle background processes to manage delivery. This has several benefits:

Core AQ building blocks: messages, queues, and queue tables

At the logical level, Advanced Queuing revolves around three core concepts:

The following figure shows how these concepts relate in a cloud-enabled Oracle 23c database:

Oracle Advanced Queuing architecture showing producers, queue table, queues, and consumers in an Oracle 23c database
Figure 1. Oracle Advanced Queuing architecture in Oracle 23c. Applications acting as producers enqueue messages into a logical queue, which stores messages in an underlying queue table. One or more consumers dequeue and process messages. AQ can participate in local or distributed transactions and can be extended with optional propagation between databases.

Queue tables: how messages are stored

A queue table is a specially created Oracle table that holds messages for one or more queues. You do not manually design its columns; instead, you specify message characteristics and storage options, and Oracle builds the underlying structure for you. The queue table:

In Oracle 23c, queue tables can participate in modern features such as improved JSON handling and enhanced partitioning strategies (where appropriate for performance and lifecycle management). The key idea for this lesson is that queues are logical, while the queue table is the physical storage.

Queues and consumers

A queue is defined on top of a queue table. Each queue has its own:

Consumers can be PL/SQL blocks, background jobs, middle-tier services, or external applications using database connectivity. In Oracle 23c and cloud-enabled environments, AQ consumers might be:

Advanced Queues in Oracle 23c and cloud-enabled deployments

While the core AQ concepts are consistent with earlier releases, Oracle 23c and cloud-enabled deployments place AQ in a broader ecosystem:

In all these scenarios, AQ remains a database-native alternative to external message brokers, especially when you want to keep business data and messaging guarantees inside the same transactional boundary.

When to use Advanced Queues

Advanced Queues are particularly useful when you need:

If your architecture already depends heavily on the Oracle Database, AQ can be simpler and more maintainable than running a separate message broker—especially for small to medium integration workloads that benefit from transactional guarantees and centralized administration.

Performance and reliability considerations

Because AQ runs inside the database, performance and reliability are closely tied to standard Oracle tuning practices:

Later lessons in this module will show how enqueue and dequeue options affect concurrency, how to configure retention and message expiration, and how to tune queue tables for performance.

How this page fits into the Advanced Queues module

This page is the conceptual foundation for the Advanced Queues lessons. Use it as your reference for what AQ is and how its core components fit together. The following pages build on this material:

Once you are comfortable with the ideas presented here—message, queue, queue table, and the overall AQ architecture—you will be ready to explore the implementation details in the remaining lessons of this module.


SEMrush Software 2 SEMrush Banner 2