Oracle DBMS_AQADM
Version 26ai

General Information
Library Note Morgan's Library Page Header
The best Oracle News for FY2026

Oracle Database 26ai will be available on generic Linux platforms in January and soon on AIX and Windows
Purpose Administration of Advanced Queue queues
AUTHID CURRENT_USER
Constants
Name Data Type Value
 12c Sharded Queue
AUTO BINARY_INTEGER 1
CACHED BINARY_INTEGER 2
UNCACHED BINARY_INTEGER 3
 Delivery Mode
PERSISTENT BINARY_INTEGER 1
BUFFERED BINARY_INTEGER 2
PERSISTENT_OR_BUFFERED BINARY_INTEGER 3
 Get/Set_Replay_Info
LAST_ENQUEUED BINARY_INTEGER 0
LAST_ACKNOWLEDGED BINARY_INTEGER 1
 GoldenGate (OGG) Replicated Queue
REPLICATION_MODE BINARY_INTEGER 1
PROPAGATION_MODE BINARY_INTEGER 2
SWITCHOVER_FORCE BINARY_INTEGER 4
 LDAP
AQ_QUEUE_CONNECTION BINARY_INTEGER 1
AQ_TOPIC_CONNECTION BINARY_INTEGER 2
 Message Grouping
TRANSACTIONAL BINARY_INTEGER 1
NONE BINARY_INTEGER 0
 Non-Repudiation Properties
NON_REPUDIATE_SENDER BINARY_INTEGER 1
NON_REPUDIATE_SNDRCV BINARY_INTEGER 2
 Payload
JMS_TYPE VARCHAR2(10) 'JMS'
 Protocols
TTC BINARY_INTEGER 0
HTTP BINARY_INTEGER 1
SMTP BINARY_INTEGER 2
FTP BINARY_INTEGER 4
ANYP BINARY_INTEGER HTTP + SMTP
LOGMINER_PROTOCOL BINARY_INTEGER 1
LOGAPPLY_PROTOCOL BINARY_INTEGER 2
TEST_PROTOCOL BINARY_INTEGER 3
 Queue Type
NORMAL_QUEUE BINARY_INTEGER 0
EXCEPTION_QUEUE BINARY_INTEGER 1
NON_PERSISTENT_QUEUE BINARY_INTEGER 2
 Retention
INFINITE BINARY_INTEGER -1
 Retention Types
DEQUEUE_TIME BINARY_INTEGER 0
ENQUEUE_TIME BINARY_INTEGER 1
ENQUEUE_TIME_AND_ALL_DEQUEUED BINARY_INTEGER 2
NUM_RETENTION_TYPES BINARY_INTEGER 3
 Sort List
PRIORITY BINARY_INTEGER 1
ENQ_TIME BINARY_INTEGER 2
PRIORITY_ENQ_TIME BINARY_INTEGER 3
COMMIT_TIME BINARY_INTEGER 4
PRIORITY_COMMIT_TIME BINARY_INTEGER 5
ENQ_TIME_PRIORITY BINARY_INTEGER 7
 Subscriber
QUEUE_TO_QUEUE_SUBSCRIBER BINARY_INTEGER 8
Data Types TYPE sys.aq$_agent AS OBJECT(
name     VARCHAR2(30),       -- name of message producer or consumer
address  VARCHAR2(1024),     -- address where message to be sent
protocol NUMBER DEFAULT 0);  -- must be 0
/

TYPE aq$_purge_options_t IS
RECORD(block  BOOLEAN     DEFAULT FALSE,
delivery_mode PLS_INTEGER DEFAULT dbms_aqadm.persistent);
/

TYPE aq$_subscriber_list_t IS TABLE OF sys.aq$_agent
INDEX BY BINARY_INTEGER;
/

TYPE queue_props_t IS RECORD (
queue_type     BINARY_INTEGER DEFAULT NORMAL_QUEUE,
retry_delay    NUMBER         DEFAULT 0,
retention_time NUMBER         DEFAULT 0,
sort_list      VARCHAR2(30)   DEFAULT NULL,
cache_hint     BINARY_INTEGER DEFAULT AUTO);
Dependencies SELECT name FROM dba_dependencies WHERE referenced_name = 'DBMS_AQADM' UNION
SELECT referenced_name FROM dba_dependencies WHERE name = 'DBMS_AQADM' ORDER BY 1;


Returns 43 objects
Documented Yes: Packages and Types Reference
Exceptions
Error Code Reason
ORA-00904 Not a Sharded Queue: invalid identifier
ORA-24079 Invalid name <string>, names with AQ$_ prefix are not valid for QUEUE_TABLE
First Available Not known
Parameters
Parameter Options
message_grouping TRANSACTIONAL, NONE
queue_type NORMAL_QUEUE, EXCEPTION_QUEUE, NON_PERSISTENT_QUEUE
retention 0, 1, 2 ... INFINITE
Pragma PRAGMA SUPPLEMENTAL_LOG_DATA(default, NONE);
Security Model Owned by SYS with EXECUTE granted to the users CTX_SYS, MDSYS, SYSTEM, WMSYS and the AQ_ADMINISTRATOR_ROLE, EXECUTE_CATALOG_ROLE, GSMADMIN_INTERNAL, OEM_MINITOR, OGG_APPLY, OGG_APPLY_PROCREP, OGG_CAPTURE, and OGG_SHARED_CAPTURE roles
Source {ORACLE_HOME}/rdbms/admin/dbmsaqad.sql
also see: {ORACLE_HOME}/rdbms/admin/catqueue.sql
Subprograms
ADD_ALIAS_TO_LDAP GRANT_PRIV_FOR_RM_PLAN
ADD_CONNECTION_TO_LDAP GRANT_QUEUE_PRIVILEGE
ADD_SUBSCRIBER GRANT_SCHEMA_PRIVILEGE
ALTER_AQ_AGENT GRANT_SYSTEM_PRIVILEGE
ALTER_DATABASE_KAFKA_TOPIC GRANT_TYPE_ACCESS
ALTER_PROPAGATION_SCHEDULE INVALIDATE_QUEUE
ALTER_QUEUE ISSHARDEDQUEUE
ALTER_QUEUE_TABLE IS_AQ_TABLE
ALTER_SHARDED_QUEUE IS_TRANSACTIONAL_EVENT_QUEUE
ALTER_SUBSCRIBER MIGRATE_QUEUE_TABLE
ALTER_TRANSACTIONAL_EVENT_QUEUE MOVE_QUEUE_TABLE
AQ$_PROPAQ NEXT_SEQNUM
CREATE_AQ_AGENT NONREPUDIATE_RECEIVER
CREATE_DATABASE_KAFKA_TOPIC NONREPUDIATE_SENDER
CREATE_EQ_EXCEPTION_QUEUE PURGE_QUEUE_TABLE
CREATE_EXCEPTION_QUEUE QUEUE_SUBSCRIBERS
CREATE_NP_QUEUE RECOVER_PROPAGATION
CREATE_QUEUE RECOVER_QUEUE_TABLE
CREATE_QUEUE_TABLE REMOVE_SUBSCRIBER
CREATE_SHARDED_QUEUE RESET_REPLAY_INFO
CREATE_TRANSACTIONAL_EVENT_QUEUE REVOKE_QUEUE_PRIVILEGE
DEL_ALIAS_FROM_LDAP REVOKE_SCHEMA_PRIVILEGE
DEL_CONNECTION_FROM_LDAP REVOKE_SYSTEM_PRIVILEGE
DISABLE_DB_ACCESS SCHEDULE_PROPAGATION
DISABLE_PROPAGATION_SCHEDULE SET_MAX_STREAMS_POOL
DROP_AQ_AGENT SET_MIN_STREAMS_POOL
DROP_DATABASE_KAFKA_TOPIC SET_QUEUE_PARAMETER
DROP_QUEUE SET_WATERMARK
DROP_QUEUE_TABLE START_QUEUE
DROP_SHARDED_QUEUE START_TIME_MANAGER
DROP_TRANSACTIONAL_EVENT_QUEUE STOP_QUEUE
ENABLE_DB_ACCESS STOP_TIME_MANAGER
ENABLE_JMS_TYPES UNSCHEDULE_PROPAGATION
ENABLE_PROPAGATION_SCHEDULE UNSET_QUEUE_PARAMETER
GET_MAX_STREAMS_POOL VALIDATE_QUEUE
GET_MIN_STREAMS_POOL VERIFY_QUEUE_TYPES
GET_PROP_SEQNO VERIFY_QUEUE_TYPES_GET_NRP
GET_QUEUE_PARAMETER VERIFY_QUEUE_TYPES_NO_QUEUE
GET_REPLAY_INFO VERIFY_SHARDED_QUEUE
GET_TYPE_INFO VERIFY_TRANSACTIONAL_EVENT_QUEUE
GET_WATERMARK  
 
ADD_ALIAS_TO_LDAP
Creates an alias for a queue, agent, or a JMS ConnectionFactory in LDAP dbms_aqadm.add_alias_to_ldap(
alias        IN VARCHAR2,
obj_location IN VARCHAR2);
TBD
 
ADD_CONNECTION_TO_LDAP
Add a connection string to LDAP directory

Overload 1
dbms_aqadm.add_connection_to_ldap(
connection IN VARCHAR2,
host       IN VARCHAR2,
port       IN BINARY_INTEGER,
sid        IN VARCHAR2,
driver     IN VARCHAR2       DEFAULT NULL,
type       IN BINARY_INTEGER DEFAULT AQ_QUEUE_CONNECTION);
TBD
Overload 2 dbms_aqadm.add_connection_to_ldap(
connection  IN VARCHAR2,
jdbc_string IN VARCHAR2,
username    IN VARCHAR2       DEFAULT NULL,
password    IN VARCHAR2       DEFAULT NULL,
type        IN BINARY_INTEGER DEFAULT AQ_QUEUE_CONNECTION);
TBD
 
ADD_SUBSCRIBER
Adds a default subscriber to a queue dbms_aqadm.add_subscriber(
queue_name     IN VARCHAR2,
subscriber     IN sys.aq$_agent,
rule           IN VARCHAR2    DEFAULT NULL,
transformation IN VARCHAR2    DEFAULT NULL
queue_to_queue IN BOOLEAN     DEFAULT FALSE,
delivery_mode  IN PLS_INTEGER DEFAULT dbms_aqadm.persistent);
See AQ Demo 1: Linked at page bottom

-- a rule based on a VARCHAR2 must be in the format: 'priority < 11 AND SOURCE = ''EF''');
 
ALTER_AQ_AGENT
Alters an agent registered for Oracle Streams AQ Internet access dbms_aqadm.alter_aq_agent(
agent_name           IN VARCHAR2,
certificate_location IN VARCHAR2 DEFAULT NULL,
enable_http          IN BOOLEAN  DEFAULT FALSE,
enable_smtp          IN BOOLEAN  DEFAULT FALSE,
enable_anyp          IN BOOLEAN  DEFAULT FALSE);
exec dbms_aqadm.alter_aq_agent(agent_name=>'UWAGENT', enable_http=>TRUE, enable_smtp=>TRUE);
 
ALTER_DATABASE_KAFKA_TOPIC (new 23ai)
Undocumented dbms_aqadm.alter_database_kafka_topic(topicname IN VARCHAR2);
TBD
 
ALTER_PROPAGATION_SCHEDULE
Alters parameters for a propagation schedule dbms_aqadm.alter_propagation_schedule(
queue_name        IN VARCHAR2,
destination       IN VARCHAR2 DEFAULT NULL,
duration          IN NUMBER   DEFAULT NULL,
next_time         IN VARCHAR2 DEFAULT NULL,
latency           IN NUMBER   DEFAULT 60,
destination_queue IN VARCHAR2 DEFAULT NULL);
exec dbms_aqadm.alter_propagation_schedule('rx_queue', 'finance_link');
ALTER_QUEUE
Alters an existing queue dbms_aqadm.alter_queue(
queue_name     IN VARCHAR2,
max_retries    IN NUMBER   DEFAULT NULL,
retry_delay    IN NUMBER   DEFAULT NULL,
retention_time IN NUMBER   DEFAULT NULL,
auto_commit    IN BOOLEAN  DEFAULT TRUE,
comment        IN VARCHAR2 DEFAULT NULL);
exec dbms_aqadm.alter_queue(queue_name=>'rx_queue', retry_delay=>2, comment=> '2 sec delay');
 
ALTER_QUEUE_TABLE
Alters the existing properties of a queue table for use with RAC dbms_aqadm.alter_queue_table(
queue_table        IN VARCHAR2,
comment            IN VARCHAR2       DEFAULT NULL,
primary_instance   IN BINARY_INTEGER DEFAULT NULL,
secondary_instance IN BINARY_INTEGER DEFAULT NULL,
replication_mode   IN BINARY_INTEGER DEFAULT NULL);
exec dbms_aqadm.alter_queue_table('rx_queue_table', 'Prescription Queue Table', 1, 2);
 
ALTER_SHARDED_QUEUE
Alters the characteristics of a sharded queue dbms_aqadm.alter_sharded_queue(
queue_name       IN VARCHAR2,
max_retries      IN NUMBER         DEFAULT NULL,
comment          IN VARCHAR2       DEFAULT NULL,
queue_properties IN QUEUE_PROPS_T  DEFAULT NULL,
replication_mode IN BINARY_INTEGER DEFAULT NONE);
TBD
 
ALTER_SUBSCRIBER
Alters existing properties of a subscriber to a specified queue. Only the rule can be altered

Overload 1
dbms_aqadm.alter_subscriber(
queue_name     IN VARCHAR2,
subscriber     IN sys.aq$_agent,
rule           IN VARCHAR2);
DECLARE
 q_subsc sys.aq$_agent;
BEGIN
  q_subsc := sys.aq$_agent('outpatient_rx', NULL, NULL);
  dbms_aqadm.alter_subscriber('rx_queue', q_subsc, 'priority < 10');
END;
/
Overload 2 dbms_aqadm.alter_subscriber(
queue_name     IN VARCHAR2,
subscriber     IN sys.aq$_agent,
rule           IN VARCHAR2,
transformation IN VARCHAR2);
TBD
 
ALTER_TRANSACTIONAL_EVENT_QUEUE
Changes the properties of a transactional event queue dbms_aqadm.alter_transactional_event_queue(
queue_name       IN VARCHAR2,
max_retries      IN NUMBER         DEFAULT NULL,
comment          IN VARCHAR2       DEFAULT NULL,
queue_properties IN QUEUE_PROPS_T  DEFAULT NULL,
replication_mode IN BINARY_INTEGER DEFAULT NONE);
TBD
 
AQ$_PROPAQ
Undocumented
Overload 1
aq$_propaq(job IN NUMBER) RETURN DATE;
TBD
Overload 2 aq$_propaq(
job          IN NUMBER,
next_date    IN DATE,
qname        IN VARCHAR2,
schema       IN VARCHAR2,
destination  IN VARCHAR2 DEFAULT NULL,
toid_char    IN VARCHAR2 DEFAULT NULL,
version_char IN VARCHAR2 DEFAULT NULL,
start_time   IN VARCHAR2,
duration     IN VARCHAR2 DEFAULT NULL,
next_time    IN VARCHAR2 DEFAULT NULL,
latency      IN VARCHAR2 DEFAULT '60')
RETURN DATE;
TBD
 
CREATE_AQ_AGENT
Creates an Internet access agent dbms_aqadm.create_aq_agent(
agent_name           IN VARCHAR2,
certificate_location IN VARCHAR2 DEFAULT NULL,
enable_http          IN BOOLEAN  DEFAULT FALSE,
enable_smtp          IN BOOLEAN  DEFAULT FALSE,
enable_anyp          IN BOOLEAN  DEFAULT FALSE);
exec dbms_aqadm.create_aq_agent(agent_name=>'UWAGENT', certificate_location=>'cn=uwclass,cn=mlib,cn=org', enable_http=>TRUE;)
 
CREATE_DATABASE_KAFKA_TOPIC (new 23ai)
Undocumented dbms_aqadm.create_database_kafka_topic(
topicname                 IN VARCHAR2,
partition_num             IN NUMBER,
retentiontime             IN NUMBER,
parittion_assignment_mode IN NUMBER,
replication_mode          IN BINARY_INTEGER);
TBD
 
CREATE_EQ_EXCEPTION_QUEUE
Creates an EQ exception queue dbms_aqadm.create_eq_exeption_queue(
queue_name           IN VARCHAR2,
exception_queue_name IN VARCHAR2 DEFAULT NULL);
TBD
 
CREATE_EXCEPTION_QUEUE
Creates an exception queue dbms_aqadm.create_exception_queue(
sharded_queue_name   IN VARCHAR2,
exception_queue_name IN VARCHAR2 DEFAULT NULL);
exec dbms_aqadm.create_exception_queue('UW_SQUEUE', 'UW_EQUEUE');
 
CREATE_NP_QUEUE
Create a non-persistent RAW queue dbms_aqadm.create_np_queue(
queue_name         IN VARCHAR2,
multiple_consumers IN BOOLEAN  DEFAULT FALSE,
comment            IN VARCHAR2 DEFAULT NULL);
Deprecated in 10gR2 but present for backward compatibility

exec dbms_aqadm.create_np_queue('rx_np_q', TRUE, 'NON_PERSISTENT_QUEUE');
 
CREATE_QUEUE
Creates a queue in the specified queue table dbms_aqadm.create_queue(
queue_name          IN VARCHAR2,
queue_table         IN VARCHAR2,
queue_type          IN BINARY_INTEGER DEFAULT NORMAL_QUEUE,
max_retries         IN NUMBER         DEFAULT NULL,
retry_delay         IN NUMBER         DEFAULT 0,
retention_time      IN NUMBER         DEFAULT 0,
dependency_tracking IN BOOLEAN        DEFAULT FALSE,
comment             IN VARCHAR2       DEFAULT NULL,
auto_commit         IN BOOLEAN        DEFAULT TRUE); -- deprecated parameter
See AQ Demo 1: Linked at page bottom
 
CREATE_QUEUE_TABLE
Creates a queue table for messages of a predefined type dbms_aqadm.create_queue_table(
queue_table        IN VARCHAR2,
queue_payload_type IN VARCHAR2,
storage_clause     IN VARCHAR2       DEFAULT NULL,
sort_list          IN VARCHAR2       DEFAULT NULL, -- options are priority & enq_time
multiple_consumers IN BOOLEAN        DEFAULT FALSE,
message_grouping   IN BINARY_INTEGER DEFAULT NONE,
comment            IN VARCHAR2       DEFAULT NULL,
auto_commit        IN BOOLEAN        DEFAULT TRUE, -- deprecated parameter
primary_instance   IN BINARY_INTEGER DEFAULT 0,
secondary_instance IN BINARY_INTEGER DEFAULT 0,
compatible         IN VARCHAR2       DEFAULT NULL, -- in 11g set to 10.0
non_repudiation    IN BINARY_INTEGER DEFAULT 0,
secure             IN BOOLEAN        DEFAULT FALSE);
replication_mode   IN BINARY_INTEGER DEFAULT NULL);
See AQ Demo 1: Linked at page bottom
 
CREATE_SHARDED_QUEUE
Creates a queue and its queue table for a sharded queue in one step dbms_aqadm.create_sharded_queue(
queue_name         IN VARCHAR2,
storage_clause     IN VARCHAR2 DEFAULT NULL,
multiple_consumers IN BOOLEAN  DEFAULT FALSE,
max_retries        IN NUMBER   DEFAULT NULL,
comment            IN VARCHAR2 DEFAULT NULL);
exec dbms_aqadm.create_sharded_queue(queue_name=>'SHARDQ',
                                     multiple_consumers=>TRUE,
                                     max_retries=>3,
                                     comment=>'AQ Sharding');

set linesize 141
col user_comment format a35

SELECT owner, name, queue_table, max_retries, user_comment
FROM dba_queues
WHERE sharded = 'TRUE';

exec dbms_aqadm.drop_sharded_queue('SHARDQ', TRUE);
 
CREATE_TRANSACTIONAL_EVENT_QUEUE
Creates a transactional event queue for distribution across multiple RAC nodes dbms_aqadm.create_transactional_event_queue(
queue_name         IN VARCHAR2,
storage_clause     IN VARCHAR2 DEFAULT NULL,
multiple_consumers IN BOOLEAN DEFAULT FALSE,
max_retries        IN NUMBER DEFAULT NULL,
comment            IN VARCHAR2 DEFAULT NULL,
queue_payload_type IN VARCHAR2 DEFAULT JMS_TYPE,
queue_properties   IN QUEUE_PROPS_T DEFAULT NULL,
replication_mode   IN BINARY_INTEGER DEFAULT NONE);
TBD
 
DEL_ALIAS_FROM_LDAP
Drops an alias for a queue, agent, or JMS ConnectionFactory in LDAP dbms_aqadm.del_alias_from_ldap(alias IN VARCHAR2);
TBD
 
DEL_CONNECTION_FROM_LDAP
Drops a connection string from an LDAP directory dbms_aqadm.add_connection_to_ldap(connection IN VARCHAR2);
TBD
 
DISABLE_DB_ACCESS
Revokes the privileges of a specific database user from an Oracle Streams AQ Internet agent dbms_aqadm.disable_db_access(
agent_name  IN VARCHAR2,
db_username IN VARCHAR2);
exec dbms_aqadm.disable_aq_agent('UWAGENT', 'UWCLASS');
 
DISABLE_PROPAGATION_SCHEDULE
Disable a propagation schedule dbms_aqadm.disable_propagation_schedule(
queue_name        IN VARCHAR2,
destination       IN VARCHAR2 DEFAULT NULL,
destination_queue IN VARCHAR2 DEFAULT NULL);
exec dbms_aqadm.disable_propagation_schedule('rx_queue', finance_link');
 
DROP_AQ_AGENT
Drops an agent that was previously registered for Oracle Streams AQ Internet access dbms_aqadm.drop_aq_agent(agent_name IN VARCHAR2);
exec dbms_aqadm.drop_aq_agent('UWCLASS');
 
DROP_DATABASE_KAFKA_TOPIC (new 23ai)
Undocumented dbms_aqadm.drop_database_kafka_topic(topicname IN VARCHAR2);
TBD
 
DROP_QUEUE
Drops an existing queue dbms_aqadm.drop_queue(
queue_name  IN VARCHAR2,
auto_commit IN BOOLEAN DEFAULT TRUE);
See AQ Demo 1: Linked at page bottom
 
DROP_QUEUE_TABLE
Drops an existing queue table dbms_aqadm.drop_queue_table(
queue_table IN VARCHAR2,
force       IN BOOLEAN DEFAULT FALSE,
auto_commit IN BOOLEAN DEFAULT TRUE);
See AQ Demo 1: Linked at page bottom
 
DROP_SHARDED_QUEUE
Drops a sharded queue and its queue table in one step dbms_aqadm.drop_sharded_queue(
queue_name IN VARCHAR2,
force      IN BOOLEAN DEFAULT FALSE);
See CREATE_SHARDED_QUEUE Demo Above
 
DROP_TRANSACTIONAL_EVENT_QUEUE
Drops a transactional event queue dbms_aqadm.drop_transactional_event_queue(
queue_name IN VARCHAR2,
force      IN BOOLEAN DEFAULT FALSE);
TBD
 
ENABLE_DB_ACCESS
Grants an AQ Internet agent the privileges of a specific database user dbms_aqadm.enable_db_access(
agent_name  IN VARCHAR2,
db_username IN VARCHAR2);
exec dbms_aqadm.enable_db_access('UWAGENT', 'UWCLASS');
 
ENABLE_JMS_TYPES
Enqueue of JMS types and XML types does not work with Streams SYS.ANYDATA queues unless you call this procedure after DBMS_STREAMS_ADM.SET_UP_QUEUE dbms_aqadm.enable_jms_types(queue_table IN VARCHAR2);
exec dbms_aqadm.enable_jms_types(USER || '.' || 'QTABLE');
 
ENABLE_PROPAGATION_SCHEDULE
Enables a previously disabled propagation schedule dbms_aqadm.enable_propagation_schedule(
queue_name        IN VARCHAR2,
destination       IN VARCHAR2 DEFAULT NULL,
destination_queue IN VARCHAR2 DEFAULT NULL);
exec dbms_aqadm.enable_propagation_schedule('rx_queue', 'finance_link');
 
GET_MAX_STREAMS_POOL
Returns the maximum streams pool memory dbms_aqadm.get_max_streams_pool(value OUT NUMBER);
DECLARE
 outVal NUMBER;
BEGIN
  dbms_aqadm.get_max_streams_pool(outVal);
  dbms_output.put_line(TO_CHAR(outVal));
  dbms_aqadm.set_max_streams_pool(outVal);
END;
/
 
GET_MIN_STREAMS_POOL
Returns the minimum streams pool memory dbms_aqadm.get_min_streams_pool(value OUT NUMBER);
DECLARE
 outVal NUMBER;
BEGIN
  dbms_aqadm.get_min_streams_pool(outVal);
  dbms_output.put_line(TO_CHAR(outVal));
  dbms_aqadm.set_min_streams_pool(outVal);
END;
/
 
GET_PROP_SEQNO
Undocumented dbms_aqadm.get_prop_seqno(
qid    IN  BINARY_INTEGER,
dqname IN  VARCHAR2,
dbname IN  VARCHAR2,
seq    OUT BINARY_INTEGER);
TBD
 
GET_QUEUE_PARAMETER
Outputs the value of a queue parameter dbms_aqadm.get_queue_parameter(
queue_name  IN  VARCHAR2,
param_name  IN  VARCHAR2,
param_value OUT NUMBER);
DECLARE
 pValue NUMBER;
BEGIN
  dbms_aqadm.get_queue_parameter('SRVQUEUE', 'RETENTION', pValue);
  dbms_output.put_line(pValue);
END;
/
*
ORA-00904: Not a Sharded Queue: invalid identifier
 
GET_REPLAY_INFO
Get a sender's replay info dbms_aqadm.get_replay_info(
queue_name       IN  VARCHAR2,
sender_agent     IN  sys.aq$_agent,
replay_attribute IN  BINARY_INTEGER,
correlation      OUT VARCHAR2);
TBD
 
GET_TYPE_INFO
Undocumented

Overload 1
dbms_aqadm.get_type_info(
schema       IN  VARCHAR2,
qname        IN  VARCHAR2,
gettds       IN  BOOLEAN,
rc           OUT BINARY_INTEGER,
toid         OUT RAW,
version      OUT NUMBER,
tds          OUT LONG RAW,
queue_style  OUT VARCHAR2,
network_name OUT VARCHAR2);
TBD
Overload 2 dbms_aqadm.get_type_info(
schema  IN  VARCHAR2,
qname   IN  VARCHAR2,
gettds  IN  BOOLEAN,
rc      OUT BINARY_INTEGER,
toid    OUT RAW,
version OUT NUMBER,
tds     OUT LONG RAW);
TBD
 
GET_WATERMARK
Retrieves the value of watermark set by SET_WATERMARK dbms_aqadm.get_watermark(wmvalue OUT NUMBER); -- value in MB
set serveroutput on

DECLARE
 x NUMBER;
BEGIN
  dbms_aqadm.set_watermark(1);
  dbms_aqadm.get_watermark(x);
  dbms_output.put_line(x);

  dbms_aqadm.set_watermark(10);
  dbms_aqadm.get_watermark(x);
  dbms_output.put_line(x);
END;
/
 
GRANT_PRIV_FOR_RM_PLAN (new 23ai)
Undocumented dbms_aqadm.grant_priv_for_rm_plan(
uname        IN VARCHAR2,
admin_option IN BOOLEAN);
TBD
 
GRANT_QUEUE_PRIVILEGE
Grants privileges on a queue to a users or role dbms_aqadm.grant_queue_privilege(
privilege    IN VARCHAR2,
queue_name   IN VARCHAR2,
grantee      IN VARCHAR2,
grant_option IN BOOLEAN := FALSE);

Choices: ENQUEUE, DEQUEUE, ALL
See AQ Demo 1: Linked at page bottom
 
GRANT_SCHEMA_PRIVILEGE (new 23ai)
Undocumented dbms_aqadm.grant_schema_privilege(
privilege    IN VARCHAR2,
schema       IN VARCHAR2,
grantee      IN VARCHAR2,
admin_option IN BOOLEAN);
TBD
 
GRANT_SYSTEM_PRIVILEGE
Grants Oracle Streams AQ system privileges to users and roles dbms_aqadm.grant_system_privilege(
privilege    IN VARCHAR2,
grantee      IN VARCHAR2,
admin_option IN BOOLEAN := FALSE);
See AQ Demo 1: Linked at page bottom
 
GRANT_TYPE_ACCESS
Undocumented dbms_aqadm.grant_type_access(user_name IN VARCHAR2);
TBD
 
INVALIDATE_QUEUE (new 23ai)
Undocumented dbms_aqadm.invalidate_queue(
q_schema IN VARCHAR2,
q_name   IN VARCHAR2);
TBD
 
ISSHARDEDQUEUE
Outputs 0 if a queue is not sharded, 1 if it is dbms_aqadm.isShardedQueue(
schema IN VARCHAR2,
qname  IN VARCHAR2)
RETURN NUMBER;
SELECT dbms_aqadm.isShardedQueue('SYS', 'SRVQUEUE');

DBMS_AQADM.ISSHARDEDQUEUE('SYS','SRVQUEUE')
-------------------------------------------
                                          0
 
IS_AQ_TABLE (new 23ai)
Undocumented dbms_aqadm.is_aq_table(
table_owner IN VARCHAR2,
table_name  IN VARCHAR2)
RETURN BOOLEAN;
BEGIN
  IF dbms_aqadm.is_aq_table('RX_OWNER', 'RX_QUEUE_TABLE') THEN
    dbms_output.put_line('T');
  ELSE
    dbms_output.put_line('F');
  END IF;
END;
/
T

PL/SQL procedure successfully completed.
 
IS_TRANSACTIONAL_EVENT_QUEUE
Returns 1 is the queue is a transactional event queue, else 0 dbms_aqadm.is_transactional_event_queue(
schema IN VARCHAR2,
qname  IN VARCHAR2)
RETURN NUMBER;
TBD
 
MIGRATE_QUEUE_TABLE
Upgrade a queue table from ver 8.0 to ver 8.1 or higher compatibility dbms_aqadm.migrate_queue_table(
queue_table IN VARCHAR2,
compatible  IN VARCHAR2);
exec dbms_aqadm.migrate_queue_table('AQ$_ORA$PREPLUGIN_BACKUP_QTB_T', '19.3');
 
MOVE_QUEUE_TABLE (new 23ai)
Undocumented dbms_aqadm.move_queue_table(
queue_table   IN VARCHAR2,
to_tablespace IN VARCHAR2,
flags         IN BINARY_INTEGER);
TBD
 
NEXT_SEQNUM (new 23ai)
Undocumented dbms_aqadm.next_seqnum(
q_schema IN  VARCHAR2,
q_name   IN  VARCHAR2,
seq_name IN  VARCHAR2,
seqnum   OUT NUMBER);
TBD
 
NONREPUDIATE_RECEIVER
Non-repudiate receiver of ADT payload

Overload 1
dbms_aqadm.nonrepudiate_receiver(
queue_name IN  VARCHAR2,
msgid      IN  RAW,
rcver_info IN  sys.aq$_agent,
signature  OUT sys.aq$_sig_prop,
payload    OUT sys.standard.<ADT_1>);
TBD
Non-repudiate receiver of raw payload

Overload 2
dbms_aqadm.nonrepudiate_receiver(
queue_name IN  VARCHAR2,
msgid      IN  RAW,
rcver_info IN  sys.aq$_agent,
signature  OUT sys.aq$_sig_prop,
payload    OUT RAW);
TBD
 
NONREPUDIATE_SENDER
Non-repudiate sender of ADT payload

Overload 1
dbms_aqadm.nonrepudiate_sender(
queue_name  IN  VARCHAR2,
msgid       IN  RAW,
sender_info IN  sys.aq$_agent,
signature   OUT sys.aq$_sig_prop,
payload     OUT sys.standard.<ADT_1>);
TBD
Non-repudiate sender of raw payload

Overload 2
dbms_aqadm.nonrepudiate_sender(
queue_name  IN  VARCHAR2,
msgid       IN  RAW,
sender_info IN  sys.aq$_agent,
signature   OUT sys.aq$_sig_prop,
payload     OUT RAW);
TBD
 
PURGE_QUEUE_TABLE
Purges messages from the named queue table dbms_aqadm.purge_queue_table(
queue_table     IN VARCHAR2,
purge_condition IN VARCHAR2,
purge_options   IN aq$_purge_options_t);
CREATE OR REPLACE PROCEDURE purgeQtable(qtable IN VARCHAR2) AUTHID CURRENT_USER AS
 po_t dbms_aqadm.aq$_purge_options_t;
 qname VARCHAR2(30);

 CURSOR qcur IS
 SELECT name
 FROM user_queues
 WHERE queue_table = UPPER(qtable);
BEGIN
  po_t.block := FALSE;
  dbms_aqadm.purge_queue_table(USER || '.' || qtable, NULL, po_t);

  execute immediate 'ALTER TABLE ' || qtable || ' ENABLE ROW MOVEMENT';
  execute immediate 'ALTER TABLE ' || qtable || ' SHRINK SPACE CASCADE';
  execute immediate 'ALTER TABLE ' || qtable || ' DISABLE ROW MOVEMENT';

  FOR qrec IN qcur LOOP
    qname := qrec.name;
    IF INSTR(qname, '$') > 0 THEN
      dbms_aqadm.start_queue(qname, enqueue=>FALSE);
    ELSE
      dbms_aqadm.start_queue(qname);
    END IF;
  END LOOP;
  dbms_utility.compile_schema(USER,compile_all=>FALSE);
EXCEPTION
  WHEN OTHERS THEN
    dbms_output.put_line('PurgeQTable: Error Starting Queue: '||qname||': '||SQLERRM);
END purgeQtable;
/
 
QUEUE_SUBSCRIBERS
Returns the subscribers to an 8.0-compatible multiconsumer queue in the PL/SQL index by table collection type DBMS_AQADM. AQ$_subscriber_list_t dbms_aqadm.queue_subscribers(queue_name IN VARCHAR2) RETURN aq$_subscriber_list_t;
TBD
 
RECOVER_PROPAGATION
Undocumented dbms_aqadm.recover_propagation(
schema      IN VARCHAR2,
queue_name  IN VARCHAR2,
destination IN VARCHAR2,
protocol    IN BINARY_INTEGER DEFAULT TTC,
url         IN VARCHAR2       DEFAULT NULL,
username    IN VARCHAR2       DEFAULT NULL,
passwd      IN VARCHAR2       DEFAULT NULL,
trace       IN BINARY_INTEGER DEFAULT 0,
destq       IN BINARY_INTEGER DEFAULT 0);
TBD
 
RECOVER_QUEUE_TABLE (new 23ai)
Undocumented dbms_aqadm.recover_queue_table(
queue_table IN VARCHAR2,
options     IN BINARY_INTEGER);
TBD
 
REMOVE_SUBSCRIBER
Removes a default subscriber from a queue dbms_aqadm.remove_subscriber(
queue_name IN VARCHAR2,
subscriber IN sys.aq$_agent);
TBD
 
RESET_REPLAY_INFO
Reset sender's replay info dbms_aqadm.reset_replay_info(
queue_name       IN VARCHAR2,
sender_agent     IN sys.aq$_agent,
replay_attribute IN BINARY_INTEGER);
TBD
 
REVOKE_QUEUE_PRIVILEGE
Revokes privileges on a queue from a user or role dbms_aqadm.revoke_queue_privilege(
privilege  IN VARCHAR2,
queue_name IN VARCHAR2,
grantee    IN VARCHAR2);

Choices: ENQUEUE_ANY, DEQUEUE_ANY, MANAGE_ANY
exec dbms_aqadm.revoke_queue_privilege(ENQUEUE_ANY,'rx_queue', 'UWCLASS');
 
REVOKE_SCHEMA_PRIVILEGE (new 23ai)
Undocumented dbms_aqadm.revoke_schema_privilege(
privilege IN VARCHAR2,
schema    IN VARCHAR2,
grantee   IN VARCHAR2);
TBD
 
REVOKE_SYSTEM_PRIVILEGE
Revokes Oracle Streams AQ system privileges from users and roles dbms_aqadm.revoke_system_privilege(
privilege IN VARCHAR2,
grantee   IN VARCHAR2);

Choices: ENQUEUE_ANY, DEQUEUE_ANY, MANAGE_ANY
exec dbms_aqadm.revoke_system_privilege(ENQUEUE_ANY, 'UWCLASS');
 
SCHEDULE_PROPAGATION
Schedules propagation of messages from a queue to a destination identified by a specific database link dbms_aqadm.schedule_propagation(
queue_name        IN VARCHAR2,
destination       IN VARCHAR2 DEFAULT NULL,
start_time        IN TIMESTAMP WITH TIMEZONE DEFAULT NULL, -- data type changed in 11g
duration          IN NUMBER   DEFAULT NULL,
next_time         IN VARCHAR2 DEFAULT NULL,
latency           IN NUMBER   DEFAULT 60,
destination_queue IN VARCHAR2 DEFAULT NULL);

-- Note: The file in /rdbms/admin shows start_time as data type TIMESTAMP WITH TIMEZONE but all_arguments does not.
See AQ Demo 1: Linked at page bottom
 
SET_MAX_STREAMS_POOL
Sets the maximum streams pool memory dbms_aqadm.set_max_streams_pool(value IN NUMBER);
See GET_MAX_STREAMS_POOL above
 
SET_MIN_STREAMS_POOL
Sets the minimum streams pool memory dbms_aqadm.set_min_streams_pool(value IN NUMBER);
See GET_MIN_STREAMS_POOL above
 
SET_QUEUE_PARAMETER
Sets the value of a queue parameter dbms_aqadm.set_queue_parameter(
queue_name  IN VARCHAR2,
param_name  IN VARCHAR2,
param_value IN NUMBER);
exec dbms_aqadm.set_queue_parameter('SRVQUEUE', 'RETENTION', 1);
     *
ORA-00904: Not a Sharded Queue: invalid identifier
 
SET_WATERMARK
Used for Oracle Streams AQ notification to specify and limit memory use dbms_aqadm.set_watermark(wmvalue IN NUMBER);  -- value in MB
See GET_WATERMARK entry
 
START_QUEUE
Enables the specified queue for enqueuing or dequeuing dbms_aqadm.start_queue(
queue_name IN VARCHAR2,
enqueue    IN BOOLEAN DEFAULT TRUE,
dequeue    IN BOOLEAN DEFAULT TRUE);
See AQ Demo 1: Linked at page bottom
 
START_TIME_MANAGER
Undocumented dbms_aqadm.start_time_manager;
exec dbms_aqadm.start_time_manager;
 
STOP_QUEUE
Disables enqueuing or dequeuing on the specified queue dbms_aqadm.stop_queue(
queue_name IN VARCHAR2,
enqueue    IN BOOLEAN DEFAULT TRUE,
dequeue    IN BOOLEAN DEFAULT TRUE,
wait       IN BOOLEAN DEFAULT TRUE);
See AQ Demo 1: Linked at page bottom
 
STOP_TIME_MANAGER
Undocumented dbms_aqadm.stop_time_manager;
exec dbms_aqadm.stop_time_manager;
 
UNSCHEDULE_PROPAGATION
Unschedules previously scheduled propagation of messages from a queue to a destination identified by a specific database link dbms_aqadm.unschedule_propagation(
queue_name        IN VARCHAR2,
destination       IN VARCHAR2 DEFAULT NULL,
destination_queue IN VARCHAR2 DEFAULT NULL);
exec dbms_aqadm.unschedule_propagation('rx_queue', 'finance_link');
 
UNSET_QUEUE_PARAMETER
Unsets the value of a queue parameter dbms_aqadm.unset_queue_parameter(
queue_name IN VARCHAR2,
param_name IN VARCHAR2);
exec dbms_aqadm.unset_queue_parameter('SRVQUEUE', 'RETENTION');
 
VALIDATE_QUEUE (new 23ai)
Undocumented dbms_aqadm.validate_queue(
q_schema IN VARCHAR2,
q_name   IN VARCHAR2);
TBD
 
VERIFY_QUEUE_TYPES
Verifies that the source and destination queues have identical types dbms_aqadm.verify_queue_types(
src_queue_name  IN  VARCHAR2,
dest_queue_name IN  VARCHAR2,
destination     IN  VARCHAR2 DEFAULT NULL,
rc              OUT BINARY_INTEGER
transformation  IN  VARCHAR2 DEFAULT NULL);
set serveroutput on

DECLARE
 x BINARY_INTEGER;
BEGIN
  dbms_aqadm.verify_queue_types('rx_queue', 'finance_queue', 'finance_link', x);
  dbms_output.put_line(x);
END;
/
 
VERIFY_QUEUE_TYPES_GET_NRP
Undocumented dbms_aqadm.verify_queue_types_get_nrp(
src_queue_name  IN  VARCHAR2,
dest_queue_name IN  VARCHAR2,
destination     IN  VARCHAR2 DEFAULT NULL,
rc              OUT BINARY_INTEGER,
transformation  IN  VARCHAR2 DEFAULT NULL);
TBD
 
VERIFY_QUEUE_TYPES_NO_QUEUE
Undocumented dbms_aqadm.verify_queue_types_no_queue(
src_queue_name  IN  VARCHAR2,
dest_queue_name IN  VARCHAR2,
destination     IN  VARCHAR2 DEFAULT NULL,
rc              OUT BINARY_INTEGER,
transformation  IN  VARCHAR2 DEFAULT NULL);
TBD
 
VERIFY_SHARDED_QUEUE
Undocumented dbms_aqadm.verify_sharded_queue (
src_schema_name IN  VARCHAR2,
dest_queue_name IN  VARCHAR2,
destination     IN  VARCHAR2,
rc              OUT NUMBER);
set serveroutput on

DECLARE
 x BINARY_INTEGER;
BEGIN
  dbms_aqadm.verify_sharded_queue('uw_squeue', 'uw_dqueue', 'finance_link', x);
  dbms_output.put_line(x);
END;
/
 
VERIFY_TRANSACTIONAL_EVENT_QUEUE
Validates a transactional event queue dbms_aqadm.verify_transactional_event_queue(
src_schema_name IN  VARCHAR2,
dest_queue_name IN  VARCHAR2,
destination     IN  VARCHAR2,
rc              OUT NUMBER);
TBD

Related Topics
Advanced Queuing Demo 1
Advanced Queuing RAC Demo
Built-in Functions
Built-in Packages
DBMS_ALERT
DBMS_AQ
DBMS_AQADM_INV
DBMS_AQADM_SYS
DBMS_AQADM_SYSCALLS
DBMS_AQADM_VAR
DBMS_AQELM
DBMS_AQIN
DBMS_AQ_BQVIEW
DBMS_AQ_EXP_CMT_TIME_TABLES
DBMS_AQ_EXP_DEQUEUELOG_TABLES
DBMS_AQ_EXP_HISTORY_TABLES
DBMS_AQ_EXP_INDEX_TABLES
DBMS_AQ_EXP_TIMEMGR_TABLES
DBMS_AQ_EXP_ZECURITY
DBMS_AQ_IMP_ZECURITY
DBMS_JOB
DBMS_PRVTAQIP
DBMS_SERVER_ALERT
What's New In 21c
What's New In 26ai

Morgan's Library Page Footer
This site is maintained by Daniel Morgan. Last Updated: This site is protected by copyright and trademark laws under U.S. and International law. © 1998-2026 Daniel A. Morgan All Rights Reserved