The Legacy Obituaries

Oracle Advanced Queuing (AQ)

pre-11.2 · integration

Survived, partially.

✓ certified by the mortician

In life

Advanced Queuing is the message broker built into the database. Messages live in queue tables and are enqueued and dequeued with DBMS_AQ inside ordinary database transactions, so a business update and its outgoing message commit or roll back together. It supports point-to-point and publish-subscribe queues, rule-based subscribers, persistent and buffered messages, propagation between queues on different databases, asynchronous notifications, and a Java Message Service interface.

Migrations care because the transactional coupling between data and messages is exactly what external brokers lack. Moving to Azure Service Bus or Storage queues typically requires an outbox pattern to preserve atomicity, and PL/SQL consumers become functions or services. Queue tables, subscriber rules and propagation schedules are configuration that assessment tools rarely surface.

Oracle's 19c Upgrade Guide states, in the Streams desupport notice, that Advanced Queuing is not deprecated and is fully supported. The 21c guide deprecates sharded queues in favor of Transactional Event Queues, which are the evolution of the same feature.

Cause of departure

Not deprecated by Oracle. Listed here because Azure offers no clean equivalent.

Obituary

Oracle Advanced Queuing, born before 11.2, spent its life providing in-database queues and transactional enqueueing and dequeueing alongside table changes. It served point-to-point and publish-subscribe messaging without leaving the database transaction.

Its Azure departure was sealed by Azure SQL Database, which has neither Service Broker nor another in-database queue. External Service Bus transactions cannot include database DML, leaving an outbox table or idempotent consumers to settle the estate.

It is survived by Azure SQL Database, not at all; Azure SQL Managed Instance, partly; and Azure Service Bus, partly. Managed Instance offers transactional Service Broker with restricted routing, while Service Bus preserves many messaging patterns but not AQ’s shared database transaction.

Survived by

Azure SQL Managed Instance partial effort L

Applies to Oracle 11.2, 12.1, 12.2, 18c, 19c, 21c, 23ai, 26ai

Service Broker is the in-engine, transactional queuing feature of SQL Server and it is available on Managed Instance, which makes it the nearest thing to AQ for PL/SQL code that enqueues and dequeues inside a transaction. Managed Instance restricts routing to other managed instances on port 4022 and does not support dialog security, and Service Broker's conversation model differs enough from AQ's queue tables that code is rewritten rather than translated.

  • Identify queues used only within the database versus queues consumed by external clients.
  • For in-database queues, define message types, contracts, queues and services in Service Broker and rewrite enqueue/dequeue as SEND and RECEIVE.
  • For externally consumed queues, prefer Service Bus with an outbox relay.
  • Use activation procedures on queues to replace AQ notification callbacks.
  • Keep cross-instance conversations within managed instances only.

Complications

major On Managed Instance, Service Broker routes may target only LOCAL or the DNS name of another managed instance on port 4022, dialog security (CREATE REMOTE SERVICE BINDING) is not supported, and the broker is enabled for new databases and cannot be toggled with ENABLE_BROKER or DISABLE_BROKER.
· General Purpose, Next-gen General Purpose, Business Critical · microsoft T-SQL differences between SQL Server and Azure SQL Managed Instance

Azure Service Bus partial effort L

Applies to Oracle 11.2, 12.1, 12.2, 18c, 19c, 21c, 23ai, 26ai

Service Bus offers the messaging patterns AQ applications use: point-to-point queues, publish-subscribe topics with subscription filters, FIFO through sessions, dead-lettering, delayed delivery and deferral. The structural difference is that AQ lives inside the database transaction (an enqueue commits or rolls back with the surrounding DML), whereas Service Bus is an external broker whose transactions span only its own entities, so exactly-once coordination with table changes needs an outbox pattern.

  • Catalogue queues, queue tables, subscribers and transformations in DBA_QUEUES and DBA_QUEUE_SUBSCRIBERS.
  • Create Service Bus queues for single-consumer queues and topics with subscriptions for multi-consumer queues.
  • Replace PL/SQL enqueue calls with an outbox table written in the same transaction and relayed by an Azure Function.
  • Replace dequeue loops and AQ notifications with Service Bus triggered functions or SDK receivers.
  • Map message priority, expiration and retry counts to Service Bus scheduled enqueue, time-to-live and max delivery count.

Complications

major Service Bus transactions group operations against a single messaging entity (one queue, topic or subscription) and cannot include database DML, so the Oracle pattern of enqueueing in the same transaction as table changes needs an outbox table or idempotent consumers.

Azure SQL Database none effort L

Applies to Oracle 11.2, 12.1, 12.2, 18c, 19c, 21c, 23ai, 26ai

Azure SQL Database has no Service Broker and no other in-database queue, so Advanced Queuing has no direct target here. Messaging must move to Service Bus (or Storage queues) with an outbox table for transactional consistency, and consumers become application services or Azure Functions.

  • Move queue definitions to Service Bus.
  • Write an outbox table in the same transaction as business DML and relay it with a function or worker.
  • Replace dequeue-driven PL/SQL with Service Bus triggered code.

Complications

blocker Service Broker is not available in Azure SQL Database; it is available in Azure SQL Managed Instance with routing limited to other managed instances.

Notices of correction

  1. oracle Introduction to Oracle Database Advanced Queuing (AQ User's Guide 19c) · Advanced Queuing User's Guide 19c · read 2026-09-26
  2. oracle Oracle Database Changes, Desupports, and Deprecations (Upgrade Guide 19c) · Upgrade Guide 19c, E96252-82, Aug 2026 · read 2026-09-26
  3. oracle Oracle Database Changes, Desupports, and Deprecations (Upgrade Guide 21c) · Upgrade Guide 21c, F17069-48, Feb 2026 · read 2026-09-26
  4. microsoft T-SQL differences between SQL Server and Azure SQL Managed Instance · page updated 2026-09-09 · read 2026-09-26
  5. microsoft Compare SQL Database Engine features: Azure SQL Database vs Azure SQL Managed Instance · page updated 2026-09-09 · read 2026-09-26
  6. microsoft Introduction to Azure Service Bus messaging · page updated 2026-08-31 · read 2026-09-26
  7. microsoft Azure Functions overview · page updated 2026-09-21 · read 2026-09-26

← All notices

Oracle Advanced Queuing (AQ) — Legacy Obituaries