Oracle® Database PL/SQL Packages and Types Reference 11g Release 2 (11.2) Part Number E10577-03 |
|
|
View PDF |
The DBMS_AQADM
package provides procedures to manage Oracle Streams Advanced Queuing (AQ) configuration and administration information.
See Also:
Chapter 240, "Oracle Streams AQ TYPEs" for information about the TYPE
s to use with DBMS_AQADM
This chapter contains the following topics:
Constants
Queue Table Subprograms
Privilege Subprograms
Queue Subprograms
Subscriber Subprograms
Notification Subprograms
Propagation Subprograms
Oracle Streams AQ Agent Subprograms
Alias Subprograms
This section contains the following topics.
When using enumerated constants, such as INFINITE
, TRANSACTIONAL
, or NORMAL_QUEUE
, the symbol must be specified with the scope of the packages defining it. All types associated with the administrative interfaces must be prepended with DBMS_AQADM
. For example: DBMS_AQADM.NORMAL_QUEUE
.
Table 22-1 Enumerated Types in the Administrative Interface
Parameter | Options |
---|---|
|
|
|
|
|
|
See Also:
For more information on the Java classes and data structures used in bothDBMS_AQ
and DBMS_AQADM
, see the DBMS_AQ package.This DBMS_AQADM package is made up of the following subprogram groups:
Table 22-2 Queue Table Subprograms
Subprograms | Description |
---|---|
Alters the existing properties of a queue table |
|
Creates a queue table for messages of a predefined type |
|
Drops an existing queue table |
|
A precondition for the enqueue of JMS types and XML types |
|
Upgrades an 8.0-compatible queue table to an 8.1-compatible or higher queue table, or downgrades an 8.1-compatible or higher queue table to an 8.0-compatible queue table |
|
Purges messages from queue tables |
Table 22-3 Privilege Subprograms
Subprograms | Description |
---|---|
Grants privileges on a queue to users and roles |
|
Grants Oracle Streams AQ system privileges to users and roles |
|
Revokes privileges on a queue from users and roles |
|
Revokes Oracle Streams AQ system privileges from users and roles |
Table 22-4 Queue Subprograms
Subprograms | Description |
---|---|
Alters existing properties of a queue |
|
Creates a nonpersistent |
|
Creates a queue in the specified queue table |
|
Drops an existing queue |
|
Returns the subscribers to an 8.0-compatible multiconsumer queue in the PL/SQL index by table collection type |
|
Enables the specified queue for enqueuing or dequeuing |
|
Disables enqueuing or dequeuing on the specified queue |
Table 22-5 Subscriber Subprograms
Subprograms | Description |
---|---|
Adds a default subscriber to a queue |
|
Alters existing properties of a subscriber to a specified queue |
|
Removes a default subscriber from a queue |
Table 22-6 Notification Subprograms
Subprograms | Description |
---|---|
Retrieves the value of watermark set by the |
|
Used for Oracle Streams AQ notification to specify and limit memory use |
Table 22-7 Propagation Subprograms
Subprograms | Description |
---|---|
Alters parameters for a propagation schedule |
|
Disables a propagation schedule |
|
Enables a previously disabled propagation schedule |
|
Schedules propagation of messages from a queue to a destination identified by a specific database link |
|
Unschedules previously scheduled propagation of messages from a queue to a destination identified by a specific database link |
|
Verifies that the source and destination queues have identical types |
Table 22-8 Oracle Streams AQ Agent Subprograms
Subprograms | Description |
---|---|
Alters an agent registered for Oracle Streams AQ Internet access, and an Oracle Streams AQ agent that accesses secure queues |
|
Registers an agent for Oracle Streams AQ Internet access using HTTP/SMTP protocols, and creates an Oracle Streams AQ agent to access secure queues |
|
Revokes the privileges of a specific database user from an Oracle Streams AQ Internet agent |
|
Drops an agent that was previously registered for Oracle Streams AQ Internet access |
|
Grants an Oracle Streams AQ Internet agent the privileges of a specific database user |
Table 22-10 DBMS_AQADM Package Subprograms
Subprograms | Description |
---|---|
Creates an alias for a queue, agent, or a JMS ConnectionFactory in LDAP |
|
Adds a default subscriber to a queue |
|
Alters an agent registered for Oracle Streams AQ Internet access, and an Oracle Streams AQ agent that accesses secure queues |
|
Alters parameters for a propagation schedule |
|
Alters existing properties of a queue |
|
Alters the existing properties of a queue table |
|
Alters existing properties of a subscriber to a specified queue |
|
Registers an agent for Oracle Streams AQ Internet access using HTTP/SMTP protocols, and creates an Oracle Streams AQ agent to access secure queues |
|
Creates a nonpersistent |
|
Creates a queue in the specified queue table |
|
Creates a queue table for messages of a predefined type |
|
Drops an alias for a queue, agent, or JMS ConnectionFactory in LDAP |
|
Revokes the privileges of a specific database user from an Oracle Streams AQ Internet agent |
|
Disables a propagation schedule |
|
Drops an agent that was previously registered for Oracle Streams AQ Internet access |
|
Drops an existing queue |
|
Drops an existing queue table |
|
Grants an Oracle Streams AQ Internet agent the privileges of a specific database user |
|
A precondition for the enqueue of JMS types and XML types |
|
Enables a previously disabled propagation schedule |
|
Retrieves the value of watermark set by the |
|
Grants privileges on a queue to users and roles |
|
Grants Oracle Streams AQ system privileges to users and roles |
|
Upgrades an 8.0-compatible queue table to an 8.1-compatible or higher queue table, or downgrades an 8.1-compatible or higher queue table to an 8.0-compatible queue table |
|
Purges messages from queue tables |
|
Returns the subscribers to an 8.0-compatible multiconsumer queue in the PL/SQL index by table collection type |
|
Removes a default subscriber from a queue |
|
Revokes privileges on a queue from users and roles |
|
Revokes Oracle Streams AQ system privileges from users and roles |
|
Schedules propagation of messages from a queue to a destination identified by a specific database link |
|
Used for Oracle Streams AQ notification to specify and limit memory use |
|
Enables the specified queue for enqueuing or dequeuing |
|
Disables enqueuing or dequeuing on the specified queue |
|
Unschedules previously scheduled propagation of messages from a queue to a destination identified by a specific database link |
|
Verifies that the source and destination queues have identical types |
This procedure creates an alias for a queue, agent, or a JMS ConnectionFactory in LDAP. The alias will be placed directly under the database server's distinguished name in LDAP hierarchy.
Syntax
DBMS_AQADM.ADD_ALIAS_TO_LDAP( alias IN VARCHAR2, obj_location IN VARCHAR2);
Parameters
Table 22-11 ADD_ALIAS_TO_LDAP Procedure Parameters
Parameter | Description |
---|---|
|
Name of the alias. Example: |
|
The distinguished name of the object (queue, agent or connection factory) to which |
Usage Notes
This method can be used to create aliases for queues, agents, and JMS ConnectionFactory objects. These object must exist before the alias is created. These aliases can be used for JNDI lookup in JMS and Oracle Streams AQ Internet access.
This procedure adds a default subscriber to a queue.
Syntax
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);
Parameters
Table 22-12 ADD_SUBSCRIBER Procedure Parameters
Parameter | Description |
---|---|
|
Name of the queue. |
|
Agent on whose behalf the subscription is being defined. |
|
A conditional expression based on the message properties, the message data properties and PL/SQL functions. A rule is specified as a Boolean expression using syntax similar to the To specify rules on a message payload (object payload), use attributes of the object type in clauses. You must prefix each attribute with |
|
Specifies a transformation that will be applied when this subscriber dequeues the message. The source type of the transformation must match the type of the queue. If the subscriber is remote, then the transformation is applied before propagation to the remote queue. |
|
If |
|
The administrator may specify one of |
Usage Notes
A program can enqueue messages to a specific list of recipients or to the default list of subscribers. This operation only succeeds on queues that allow multiple consumers. This operation takes effect immediately, and the containing transaction is committed. Enqueue requests that are executed after the completion of this call will reflect the new behavior.
Any string within the rule must be quoted:
rule => 'PRIORITY <= 3 AND CORRID = ''FROM JAPAN'''
Note that these are all single quotation marks.
This procedure alters an agent registered for Oracle Streams AQ Internet access. It is also used to alter an Oracle Streams AQ agent that accesses secure queues.
See Also:
Oracle Streams Concepts and Administration for information about secure queuesSyntax
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 )
Parameters
Table 22-13 ALTER_AQ_AGENT Procedure Parameters
Parameter | Description |
---|---|
|
Specifies the username of the Oracle Streams AQ Internet agent. |
|
Agent's certificate location in LDAP (default is |
|
|
|
|
|
|
This procedure alters parameters for a propagation schedule.
Syntax
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);
Parameters
Table 22-14 ALTER_PROPAGATION_SCHEDULE Procedure Parameters
Parameter | Description |
---|---|
|
Name of the source queue whose messages are to be propagated, including the schema name. If the schema name is not specified, then it defaults to the schema name of the user. |
|
Destination database link. Messages in the source queue for recipients at this destination are propagated. If it is |
|
Duration of the propagation window in seconds. A |
|
Date function to compute the start of the next propagation window from the end of the current window. If this value is |
|
Maximum wait, in seconds, in the propagation window for a message to be propagated after it is enqueued. The default value is 60. Caution: if latency is not specified for this call, then latency will over-write any existing value with the default value. For example, if the latency is 60 seconds and there are no messages to be propagated during the propagation window, then messages from that queue for the destination are not propagated for at least 60 more seconds. It will be at least 60 seconds before the queue will be checked again for messages to be propagated for the specified destination. If the latency is 600, then the queue will not be checked for 10 minutes and if the latency is 0, then a job queue process will be waiting for messages to be enqueued for the destination and as soon as a message is enqueued it will be propagated. |
|
Name of the target queue to which messages are to be propagated in the form of a |
This procedure alters existing properties of a queue. The parameters max_retries
, retention_time
, and retry_delay
are not supported for nonpersistent queues.
Syntax
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);
Parameters
Table 22-15 ALTER_QUEUE Procedure Parameters
Parameter | Description |
---|---|
|
Name of the queue that is to be altered |
|
Limits the number of times a dequeue with A message is moved to an exception queue if Note that |
|
Delay time in seconds before this message is scheduled for processing again after an application rollback. The default is Note that |
|
Retention time in seconds for which a message is retained in the queue table after being dequeued. The default is |
|
Caution: This parameter has been deprecated. |
|
User-specified description of the queue. This user comment is added to the queue catalog. The default value is |
This procedure alters the existing properties of a queue table.
Syntax
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);
Parameters
Table 22-16 ALTER_QUEUE_TABLE Procedure Parameters
Parameter | Description |
---|---|
|
Name of a queue table to be created. |
|
Modifies the user-specified description of the queue table. This user comment is added to the queue catalog. The default value is |
|
This is the primary owner of the queue table. Queue monitor scheduling and propagation for the queues in the queue table will be done in this instance. The default value is |
|
The queue table fails over to the secondary instance if the primary instance is not available. The default value is |
This procedure alters existing properties of a subscriber to a specified queue. Only the rule can be altered.
Syntax
DBMS_AQADM.ALTER_SUBSCRIBER ( queue_name IN VARCHAR2, subscriber IN sys.aq$_agent, rule IN VARCHAR2 transformation IN VARCHAR2);
Parameters
Table 22-17 ALTER_SUBSCRIBER Procedure Parameters
Parameter | Description |
---|---|
|
Name of the queue. |
|
Agent on whose behalf the subscription is being altered. See "AQ$_AGENT Type". |
|
A conditional expression based on the message properties, the message data properties and PL/SQL functions. The rule parameter cannot exceed 4000 characters. To eliminate the rule, set the rule parameter to |
|
Specifies a transformation that will be applied when this subscriber dequeues the message. The source type of the transformation must match the type of the queue. If the subscriber is remote, then the transformation is applied before propagation to the remote queue. |
Usage Notes
This procedure alters both the rule and the transformation for the subscriber. If you want to retain the existing value for either of them, you must specify its old value. The current values for rule and transformation for a subscriber can be obtained from the schema
.AQ$
queue_table
_R
and schema
.AQ$
queue_table
_S
views.
This procedure registers an agent for Oracle Streams AQ Internet access using HTTP/SMTP protocols. It is also used to create an Oracle Streams AQ agent to access secure queues.
See Also:
Oracle Streams Concepts and Administration for information about secure queuesSyntax
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 )
Parameters
Table 22-18 CREATE_AQ_AGENT Procedure Parameters
Parameter | Description |
---|---|
|
Specifies the username of the Oracle Streams AQ Internet agent. |
|
Agent's certificate location in LDAP (default is |
|
|
|
|
|
|
Usage Notes
The SYS.AQ$INTERNET_USERS
view has a list of all Oracle Streams AQ Internet agents.
Note:
nonpersistent queues are deprecated as of Release 10gR2. Oracle recommends using buffered messaging.This procedure creates a nonpersistent RAW
queue.
Syntax
DBMS_AQADM.CREATE_NP_QUEUE ( queue_name IN VARCHAR2, multiple_consumers IN BOOLEAN DEFAULT FALSE, comment IN VARCHAR2 DEFAULT NULL);
Parameters
Table 22-19 CREATE_NP_QUEUE Procedure Parameters
Parameter | Description |
---|---|
|
Name of the nonpersistent queue that is to be created. The name must be unique within a schema and must follow object name guidelines in Oracle Database SQL Language Reference. |
|
Note that thi |
|
User-specified description of the queue. This user comment is added to the queue catalog. |
Usage Notes
The queue may be either single-consumer or multiconsumer queue. All queue names must be unique within a schema. The queues are created in a 8.1-compatible or higher system-created queue table (AQ$_MEM_SC
or AQ$_MEM_MC
) in the same schema as that specified by the queue name.
If the queue name does not specify a schema name, the queue is created in the login user's schema. After a queue is created with CREATE_NP_QUEUE
, it can be enabled by calling START_QUEUE
. By default, the queue is created with both enqueue and dequeue disabled.
You cannot dequeue from a nonpersistent queue. The only way to retrieve a message from a nonpersistent queue is by using the OCI notification mechanism. You cannot invoke the LISTEN
call on a nonpersistent queue.
This procedure creates a queue in the specified queue table.
Syntax
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);
Parameters
Table 22-20 CREATE_QUEUE Procedure Parameters
Parameter | Description |
---|---|
|
Name of the queue that is to be created. The name must be unique within a schema and must follow object name guidelines in Oracle Database SQL Language Reference with regard to reserved characters. |
|
Name of the queue table that will contain the queue. |
|
Specifies whether the queue being created is an exception queue or a normal queue. |
|
Limits the number of times a dequeue with the A message is moved to an exception queue if Note that |
|
Delay time, in seconds, before this message is scheduled for processing again after an application rollback. The default is 0, which means the message can be retried as soon as possible. This parameter has no effect if |
|
Number of seconds for which a message is retained in the queue table after being dequeued from the queue. |
|
Reserved for future use. |
|
User-specified description of the queue. This user comment is added to the queue catalog. |
|
Caution: This parameter has been deprecated. |
Usage Notes
All queue names must be unique within a schema. After a queue is created with CREATE_QUEUE
, it can be enabled by calling START_QUEUE
. By default, the queue is created with both enqueue and dequeue disabled.
This procedure creates a queue table for messages of a predefined type.
Syntax
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, multiple_consumers IN BOOLEAN DEFAULT FALSE, message_grouping IN BINARY_INTEGER DEFAULT NONE, comment IN VARCHAR2 DEFAULT NULL, auto_commit IN BOOLEAN DEFAULT TRUE, primary_instance IN BINARY_INTEGER DEFAULT 0, secondary_instance IN BINARY_INTEGER DEFAULT 0, compatible IN VARCHAR2 DEFAULT NULL, secure IN BOOLEAN DEFAULT FALSE);
Parameters
Table 22-21 CREATE_QUEUE_TABLE Procedure Parameters
Parameter | Description |
---|---|
|
Name of a queue table to be created |
|
Type of the user data stored. See Type Name for valid values for this parameter. |
|
Storage parameter. The storage parameter is included in the If a tablespace is not specified here, then the queue table and all its related objects are created in the default user tablespace. If a tablespace is specified here, then the queue table and all its related objects are created in the tablespace specified in the storage clause. See Oracle Database SQL Language Reference for the usage of these parameters. |
|
The columns to be used as the sort key in ascending order. This parameter has the following format: ' The allowed column names are After a queue table is created with a specific ordering mechanism, all queues in the queue table inherit the same defaults. The order of a queue table cannot be altered after the queue table has been created. If no sort list is specified, then all the queues in this queue table are sorted by the enqueue time in ascending order. This order is equivalent to FIFO order. Even with the default ordering defined, a dequeuer is allowed to choose a message to dequeue by specifying its |
|
|
|
Message grouping behavior for queues created in the table. |
|
User-specified description of the queue table. This user comment is added to the queue catalog. |
|
Note: This parameter has been deprecated. |
|
The primary owner of the queue table. Queue monitor scheduling and propagation for the queues in the queue table are done in this instance. The default value for primary instance is 0, which means queue monitor scheduling and propagation will be done in any available instance. |
|
The queue table fails over to the secondary instance if the primary instance is not available. The default value is 0, which means that the queue table will fail over to any available instance. |
|
The lowest database version with which the queue is compatible. Currently the possible values are either |
|
This parameter must be set to |
Usage Notes
The sort keys for dequeue ordering, if any, must be defined at table creation time. The following objects are created at this time:
aq$_
queue_table_name
_e
, a default exception queue associated with the queue table
aq$
queue_table_name
, a read-only view, which is used by Oracle Streams AQ applications for querying queue data
aq$_
queue_table_name
_t
, an index (or an index organized table (IOT) in the case of multiple consumer queues) for the queue monitor operations
aq$_
queue_table_name
_i
, an index (or an index organized table in the case of multiple consumer queues) for dequeue operations
For 8.1-compatible or higher queue tables, the following index-organized tables are created:
aq$_
queue_table_name
_s
, a table for storing information about the subscribers
aq$_
queue_table_name
_r
, a table for storing information about rules on subscriptions
aq$_
queue_table_name
_h
, an index-organized table for storing the dequeue history data
CLOB
, BLOB
, and BFILE
are valid attributes for Oracle Streams AQ object type payloads. However, only CLOB
and BLOB
can be propagated using Oracle Streams AQ propagation in Oracle8i release 8.1.5 or later. See the Oracle Streams Advanced Queuing User's Guide for more information.
The default value of the compatible parameter depends on the database compatibility mode in the init.ora
. If the database is in 10.1-compatible mode, the default value is 10.0. If the database is in 8.1-compatible or 9.2-compatible mode, the default value is 8.1. If the database is in 8.0 compatible mode, the default value is 8.0
You can specify and modify the primary_instance
and secondary_instance
only in 8.1-compatible or higher mode. You cannot specify a secondary instance unless there is a primary instance.
This procedure drops an alias for a queue, agent, or JMS ConnectionFactory in LDAP.
Syntax
DBMS_AQ.DEL_ALIAS_FROM_LDAP( alias IN VARCHAR2);
Parameters
Table 22-22 DEL_ALIAS_FROM_LDAP Procedure Parameters
Parameter | Description |
---|---|
|
The alias to be removed. |
This procedure revokes the privileges of a specific database user from an Oracle Streams AQ Internet agent.
Syntax
DBMS_AQADM.DISABLE_DB_ACCESS ( agent_name IN VARCHAR2, db_username IN VARCHAR2)
Parameters
Table 22-23 DISABLE_DB_ACCESS Procedure Parameters
Parameter | Description |
---|---|
|
Specifies the username of the Oracle Streams AQ Internet agent. |
|
Specifies the database user whose privileges are to be revoked from the Oracle Streams AQ Internet agent. |
Usage Notes
The Oracle Streams AQ Internet agent should have been previously granted those privileges using the ENABLE_DB_ACCESS Procedure.
This procedure disables a propagation schedule.
Syntax
DBMS_AQADM.DISABLE_PROPAGATION_SCHEDULE ( queue_name IN VARCHAR2, destination IN VARCHAR2 DEFAULT NULL, destination_queue IN VARCHAR2 DEFAULT NULL);
Parameters
Table 22-24 DISABLE_PROPAGATION_SCHEDULE Procedure Parameters
Parameter | Description |
---|---|
|
Name of the source queue whose messages are to be propagated, including the schema name. If the schema name is not specified, then it defaults to the schema name of the user. |
|
Destination database link. Messages in the source queue for recipients at this destination are propagated. If it is |
|
Name of the target queue to which messages are to be propagated in the form of a |
This procedure drops an agent that was previously registered for Oracle Streams AQ Internet access.
Syntax
DBMS_AQADM.DROP_AQ_AGENT ( agent_name IN VARCHAR2)
Parameters
Table 22-25 DROP_AQ_AGENT Procedure Parameters
Parameter | Description |
---|---|
|
Specifies the username of the Oracle Streams AQ Internet agent |
This procedure drops an existing queue.
Syntax
DBMS_AQADM.DROP_QUEUE ( queue_name IN VARCHAR2, auto_commit IN BOOLEAN DEFAULT TRUE);
Parameters
Table 22-26 DROP_QUEUE Procedure Parameters
Parameter | Description |
---|---|
|
Name of the queue that is to be dropped. |
|
Caution: This parameter has been deprecated. |
Usage Notes
DROP_QUEUE
is not allowed unless STOP_QUEUE
has been called to disable the queue for both enqueuing and dequeuing. All the queue data is deleted as part of the drop operation.
This procedure drops an existing queue table.
Syntax
DBMS_AQADM.DROP_QUEUE_TABLE ( queue_table IN VARCHAR2, force IN BOOLEAN DEFAULT FALSE, auto_commit IN BOOLEAN DEFAULT TRUE);
Parameters
Table 22-27 DROP_QUEUE_TABLE Procedure Parameters
Parameter | Description |
---|---|
|
Name of a queue table to be dropped. |
|
|
|
Caution: This parameter has been deprecated. |
Usage Notes
All the queues in a queue table must be stopped and dropped before the queue table can be dropped. You must do this explicitly unless the force
option is used, in which case this is done automatically.
This procedure grants an Oracle Streams AQ Internet agent the privileges of a specific database user.
Syntax
DBMS_AQADM.ENABLE_DB_ACCESS ( agent_name IN VARCHAR2, db_username IN VARCHAR2)
Parameters
Table 22-28 ENABLE_DB_ACCESS Procedure Parameters
Parameter | Description |
---|---|
|
Specifies the username of the Oracle Streams AQ Internet agent. |
|
Specified the database user whose privileges are to be granted to the Oracle Streams AQ Internet agent. |
Usage Notes
The Oracle Streams AQ Internet agent should have been previously created using the CREATE_AQ_AGENT Procedure.
For secure queues, the sender and receiver agent of the message must be mapped to the database user performing the enqueue or dequeue operation.
See Also:
Oracle Streams Concepts and Administration for information about secure queuesThe SYS.AQ$INTERNET_USERS
view has a list of all Oracle Streams AQ Internet agents and the names of the database users whose privileges are granted to them.
Enqueue of JMS types and XML types does not work with Oracle Streams Sys.Anydata
queues unless you call this procedure after DBMS_STREAMS_ADM.SET_UP_QUEUE
. Enabling an Oracle Streams queue for these types may affect import/export of the queue table.
Syntax
DBMS_AQADM.ENABLE_JMS_TYPES ( queue_table IN VARCHAR2);
Parameters
Table 22-29 ENABLE_JMS_TYPES Procedure Parameters
Parameter | Description |
---|---|
|
Specifies name of the queue table to be enabled for JMS and XML types. |
This procedure enables a previously disabled propagation schedule.
Syntax
DBMS_AQADM.ENABLE_PROPAGATION_SCHEDULE ( queue_name IN VARCHAR2, destination IN VARCHAR2 DEFAULT NULL, destination_queue IN VARCHAR2 DEFAULT NULL);
Parameters
Table 22-30 ENABLE_PROPAGATION_SCHEDULE Procedure Parameters
Parameter | Description |
---|---|
|
Name of the source queue whose messages are to be propagated, including the schema name. If the schema name is not specified, then it defaults to the schema name of the user. |
|
Destination database link. Messages in the source queue for recipients at this destination are propagated. If it is |
|
Name of the target queue to which messages are to be propagated in the form of a |
This procedure retrieves the value of watermark set by SET_WATERMARK
.
Syntax
DBMS_AQADM.GET_WATERMARK ( wmvalue OUT NUMBER);
Parameters
Table 22-31 GET_WATERMARK Procedure Parameter
Parameter | Description |
---|---|
|
Watermark value in megabytes. |
This procedure grants privileges on a queue to users and roles. The privileges are ENQUEUE
or DEQUEUE
. Initially, only the queue table owner can use this procedure to grant privileges on the queues.
Syntax
DBMS_AQADM.GRANT_QUEUE_PRIVILEGE ( privilege IN VARCHAR2, queue_name IN VARCHAR2, grantee IN VARCHAR2, grant_option IN BOOLEAN := FALSE);
Parameters
Table 22-32 GRANT_QUEUE_PRIVILEGE Procedure Parameters
Parameter | Description |
---|---|
|
The Oracle Streams AQ queue privilege to grant. The options are |
|
Name of the queue. |
|
Grantee(s). The grantee(s) can be a user, a role, or the |
|
Specifies if the access privilege is granted with the |
This procedure grants Oracle Streams AQ system privileges to users and roles. The privileges are ENQUEUE_ANY
, DEQUEUE_ANY
, and MANAGE_ANY
. Initially, only SYS
and SYSTEM
can use this procedure successfully.
Syntax
DBMS_AQADM.GRANT_SYSTEM_PRIVILEGE ( privilege IN VARCHAR2, grantee IN VARCHAR2, admin_option IN BOOLEAN := FALSE);
Parameters
Table 22-33 GRANT_SYSTEM_PRIVILEGE Procedure Parameters
Parameter | Description |
---|---|
|
The Oracle Streams AQ system privilege to grant. The options are |
|
Grantee(s). The grantee(s) can be a user, a role, or the |
|
Specifies if the system privilege is granted with the If the privilege is granted with the |
This procedure upgrades an 8.0-compatible queue table to an 8.1-compatible or higher queue table, or downgrades an 8.1-compatible or higher queue table to an 8.0-compatible queue table.
Syntax
DBMS_AQADM.MIGRATE_QUEUE_TABLE ( queue_table IN VARCHAR2, compatible IN VARCHAR2);
Parameters
Table 22-34 MIGRATE_QUEUE_TABLE Procedure Parameters
Parameter | Description |
---|---|
|
Specifies name of the queue table to be migrated. |
|
Set this to |
This procedure purges messages from queue tables. You can perform various purge operations on both single-consumer and multiconsumer queue tables for persistent and buffered messages.
Syntax
DBMS_AQADM.PURGE_QUEUE_TABLE( queue_table IN VARCHAR2, purge_condition IN VARCHAR2, purge_options IN aq$_purge_options_t);
where type aq$_purge_options_t
is described in Chapter 240, "Oracle Streams AQ TYPEs".
Parameters
Table 22-35 PURGE_QUEUE_TABLE Procedure Parameters
Parameter | Description |
---|---|
|
Specifies the name of the queue table to be purged. |
|
Specifies the purge condition to use when purging the queue table. The purge condition must be in the format of a SQL When specifying the To purge all queues in a queue table, set |
|
Type
|
Usage Notes
You an purge selected messages from the queue table by specifying a purge_condition. Table 22-35 describes these parameters. Messages can be enqueued to and dequeued from the queue table while the queue table is being purged.
A trace file is generated in the udump
destination when you run this procedure. It details what the procedure is doing.
This procedure commits batches of messages in autonomous transactions. Several such autonomous transactions may get executed as a part of one purge_queue_table
call depending on the number of messages in the queue table.
This function 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
. Each element of the collection is of type sys.aq$_agent
. This functionality is provided for 8.1-compatible queues by the AQ$
queue_table_name
_S
view.
Syntax
DBMS_AQADM.QUEUE_SUBSCRIBERS ( queue_name IN VARCHAR2); RETURN aq$_subscriber_list_t IS
Parameters
Table 22-36 QUEUE_SUBSCRIBERS Function Parameters
Parameter | Description |
---|---|
|
Specifies the queue whose subscribers are to be printed. |
This procedure removes a default subscriber from a queue. This operation takes effect immediately, and the containing transaction is committed. All references to the subscriber in existing messages are removed as part of the operation.
Syntax
DBMS_AQADM.REMOVE_SUBSCRIBER ( queue_name IN VARCHAR2, subscriber IN sys.aq$_agent);
Parameters
Table 22-37 REMOVE_SUBSCRIBER Procedure Parameters
Parameter | Description |
---|---|
|
Name of the queue. |
|
Agent who is being removed. See AQ$_AGENT Type. |
This procedure revokes privileges on a queue from users and roles. The privileges are ENQUEUE
or DEQUEUE
.
Syntax
DBMS_AQADM.REVOKE_QUEUE_PRIVILEGE ( privilege IN VARCHAR2, queue_name IN VARCHAR2, grantee IN VARCHAR2);
Parameters
Table 22-38 REVOKE_QUEUE_PRIVILEGE Procedure Parameters
Parameter | Description |
---|---|
|
The Oracle Streams AQ queue privilege to revoke. The options are |
|
Name of the queue. |
|
Grantee(s). The grantee(s) can be a user, a role, or the |
Usage Notes
To revoke a privilege, the revoker must be the original grantor of the privilege. The privileges propagated through the GRANT
option are revoked if the grantor's privileges are revoked.
This procedure revokes Oracle Streams AQ system privileges from users and roles. The privileges are ENQUEUE_ANY
, DEQUEUE_ANY
and MANAGE_ANY
. The ADMIN
option for a system privilege cannot be selectively revoked.
Syntax
DBMS_AQADM.REVOKE_SYSTEM_PRIVILEGE ( privilege IN VARCHAR2, grantee IN VARCHAR2);
Parameters
Table 22-39 REVOKE_SYSTEM_PRIVILEGE Procedure Parameters
Parameter | Description |
---|---|
|
The Oracle Streams AQ system privilege to revoke. The options are |
|
Grantee(s). The grantee(s) can be a user, a role, or the |
This procedure schedules propagation of messages from a queue to a destination identified by a specific database link.
Syntax
DBMS_AQADM.SCHEDULE_PROPAGATION ( queue_name IN VARCHAR2, destination IN VARCHAR2 DEFAULT NULL, start_time IN DATE DEFAULT SYSDATE, duration IN NUMBER DEFAULT NULL, next_time IN VARCHAR2 DEFAULT NULL, latency IN NUMBER DEFAULT 60, destination_queue IN VARCHAR2 DEFAULT NULL);
Parameters
Table 22-40 SCHEDULE_PROPAGATION Procedure Parameters
Parameter | Description |
---|---|
|
Name of the source queue whose messages are to be propagated, including the schema name. If the schema name is not specified, then it defaults to the schema name of the administrative user. |
|
Destination database link. Messages in the source queue for recipients at this destination are propagated. If it is |
|
Initial start time for the propagation window for messages from the source queue to the destination. |
|
Duration of the propagation window in seconds. A |
|
Date function to compute the start of the next propagation window from the end of the current window. If this value is |
|
Maximum wait, in seconds, in the propagation window for a message to be propagated after it is enqueued. For example, if the latency is 60 seconds and there are no messages to be propagated during the propagation window, then messages from that queue for the destination are not propagated for at least 60 more seconds. It is at least 60 seconds before the queue is checked again for messages to be propagated for the specified destination. If the latency is 600, then the queue is not checked for 10 minutes, and if the latency is 0, then a job queue process will be waiting for messages to be enqueued for the destination. As soon as a message is enqueued, it is propagated. |
|
Name of the target queue to which messages are to be propagated in the form of a |
Usage Notes
Messages may also be propagated to other queues in the same database by specifying a NULL
destination. If a message has multiple recipients at the same destination in either the same or different queues, the message is propagated to all of them at the same time.
This procedure is used for Oracle Streams AQ notification to specify and limit memory use.
Syntax
DBMS_AQADM.SET_WATERMARK ( wmvalue IN NUMBER);
Parameters
Table 22-41 SET_WATERMARK Procedure Parameter
Parameter | Description |
---|---|
|
Watermark value in megabytes. |
This procedure enables the specified queue for enqueuing or dequeuing.
Syntax
DBMS_AQADM.START_QUEUE ( queue_name IN VARCHAR2, enqueue IN BOOLEAN DEFAULT TRUE, dequeue IN BOOLEAN DEFAULT TRUE);
Parameters
Table 22-42 START_QUEUE Procedure Parameters
Parameter | Description |
---|---|
|
Name of the queue to be enabled |
|
Specifies whether |
|
Specifies whether |
Usage Notes
After creating a queue, the administrator must use START_QUEUE
to enable the queue. The default is to enable it for both ENQUEUE
and DEQUEUE
. Only dequeue operations are allowed on an exception queue. This operation takes effect when the call completes and does not have any transactional characteristics.
This procedure disables enqueuing or dequeuing on the specified queue.
Syntax
DBMS_AQADM.STOP_QUEUE ( queue_name IN VARCHAR2, enqueue IN BOOLEAN DEFAULT TRUE, dequeue IN BOOLEAN DEFAULT TRUE, wait IN BOOLEAN DEFAULT TRUE);
Parameters
Table 22-43 STOP_QUEUE Procedure Parameters
Parameter | Description |
---|---|
|
Name of the queue to be disabled |
|
Specifies whether |
|
Specifies whether |
|
Specifies whether to wait for the completion of outstanding transactions. |
Usage Notes
By default, this call disables both ENQUEUE
and DEQUEUE
. A queue cannot be stopped if there are outstanding transactions against the queue. This operation takes effect when the call completes and does not have any transactional characteristics.
This procedure unschedules previously scheduled propagation of messages from a queue to a destination identified by a specific database link.
Syntax
DBMS_AQADM.UNSCHEDULE_PROPAGATION ( queue_name IN VARCHAR2, destination IN VARCHAR2 DEFAULT NULL destination_queue IN VARCHAR2 DEFAULT NULL);
Parameters
Table 22-44 UNSCHEDULE_PROPAGATION Procedure Parameters
Parameter | Description |
---|---|
|
Name of the source queue whose messages are to be propagated, including the schema name. If the schema name is not specified, then it defaults to the schema name of the administrative user. |
|
Destination database link. Messages in the source queue for recipients at this destination are propagated. If it is |
|
Name of the target queue to which messages are to be propagated in the form of a |
This procedure verifies that the source and destination queues have identical types. The result of the verification is stored in the table sys
.aq$_message_types
, overwriting all previous output of this command.
Syntax
DBMS_AQADM.VERIFY_QUEUE_TYPES ( src_queue_name IN VARCHAR2, dest_queue_name IN VARCHAR2, destination IN VARCHAR2 DEFAULT NULL, rc OUT BINARY_INTEGER);
Parameters
Table 22-45 VERIFY_QUEUE_TYPES Procedure Parameters
Parameter | Description |
---|---|
|
Name of the source queue whose messages are to be propagated, including the schema name. If the schema name is not specified, then it defaults to the schema name of the user. |
|
Name of the destination queue where messages are to be propagated, including the schema name. If the schema name is not specified, then it defaults to the schema name of the user. |
|
Destination database link. Messages in the source queue for recipients at this destination are propagated. If it is |
|
Return code for the result of the procedure. If there is no error, and if the source and destination queue types match, then the result is 1. If they do not match, then the result is 0. If an Oracle error is encountered, then it is returned in |