10 Oracle Transactional Event Queue and Advanced Queuing Views

These topics describe the Transactional Event Queue (TEQ) and AQ Advanced Queuing (AQ) administrative interface views.

Note:

All views not detailed in the following sections are described in the Oracle Database Reference.

Oracle TEQ Views

Oracle AQ Views

DBA_QUEUE_TABLES: All Queue Tables in Database

This view contains information about the owner instance for a queue table.

A queue table can contain multiple queues. In this case, each queue in a queue table has the same owner instance as the queue table. The DBA_QUEUE_TABLES columns are the same as those in ALL_QUEUE_TABLES.

See Also:

Oracle Database Reference for more information about DBA_QUEUE_TABLES.

USER_QUEUE_TABLES: Queue Tables in User Schema

This view is the same as DBA_QUEUE_TABLES with the exception that it only shows queue tables in the user's schema.

USER_QUEUE_TABLES does not contain a column for OWNER.

See Also:

Oracle Database Reference for more information about USER_QUEUE_TABLES.

ALL_QUEUE_TABLES: Queue Tables Accessible to the Current User

This view describes queue tables accessible to the current user.

See Also:

Oracle Database Reference for more information about ALL_QUEUE_TABLES.

DBA_QUEUES: All Queues in Database

The DBA_QUEUES view specifies operational characteristics for every queue in a database.

Its columns are the same as those ALL_QUEUES. Oracle Database 12c Release 1 (12.1) introduces a new column SHARDED with data type VARCHAR2(5). The value for this column is TRUE for sharded queue, otherwise FALSE.

See Also:

Oracle Database Reference for more information about DBA_QUEUES.

USER_QUEUES: Queues In User Schema

The USER_QUEUES view is the same as DBA_QUEUES with the exception that it only shows queues in the user's schema.

Oracle Database 12c Release 1 (12.1) introduces a new column SHARDED with data type VARCHAR2(5). The value for this column is TRUE for sharded queue, otherwise FALSE.

See Also:

Oracle Database Reference for more information about USER_QUEUES.

ALL_QUEUES: Queues for Which User Has Any Privilege

The ALL_QUEUES view describes all queues on which the current user has enqueue or dequeue privileges.

If the user has any Advanced Queuing system privileges, like MANAGE ANY QUEUE, ENQUEUE ANY QUEUE or DEQUEUE ANY QUEUE, this view describes all queues in the database. Oracle Database 12c Release 1 (12.1) introduces a new column SHARDED with data type VARCHAR2(5). The value for this column is TRUE for sharded queue, otherwise FALSE.

See Also:

Oracle Database Reference for more information about ALL_QUEUES.

DBA_QUEUE_SCHEDULES: All Propagation Schedules

The DBA_QUEUE_SCHEDULES view describes all the current schedules in the database for propagating messages.

See Also:

Oracle Database Reference for more information about DBA_QUEUE_SCHEDULES.

USER_QUEUE_SCHEDULES: Propagation Schedules in User Schema

The USER_QUEUE_SCHEDULES view is the same as DBA_QUEUE_SCHEDULES with the exception that it only shows queue schedules in the user's schema.

See Also:

Oracle Database Reference for more information about USER_QUEUE_SCHEDULES.

QUEUE_PRIVILEGES: Queues for Which User Has Queue Privilege

The QUEUE_PRIVILEGES view describes queues for which the user is the grantor, grantee, or owner.

It also shows queues for which an enabled role on the queue is granted to PUBLIC.

See Also:

Oracle Database Reference for more information about QUEUE_PRIVILEGES.

AQ$<Queue_Table_Name>: Messages in Queue Table

The AQ$<Queue_Table_Name> view describes the queue table in which message data is stored.

This view is automatically created with each queue table and should be used for querying the queue data. The dequeue history data (time, user identification and transaction identification) is only valid for single-consumer queues.

In a queue table that is created with the compatible parameter set to '8.1' or higher, messages that were not dequeued by the consumer are shown as "UNDELIVERABLE". You can dequeue these messages by msgid. If the Oracle Database Advanced Queuing queue process monitor is running, then the messages are eventually moved to an exception queue. You can dequeue these messages from the exception queue with an ordinary dequeue.

A multiconsumer queue table created without the compatible parameter, or with the compatible parameter set to '8.0', does not display the state of a message on a consumer basis, but only displays the global state of the message.

Note:

Queues created in a queue table with compatible set to 8.0 (referred to in this guide as 8.0-style queues) are deprecated in Oracle Database Advanced Queuing 10g Release 2 (10.2). Oracle recommends that any new queues you create be 8.1-style or newer and that you migrate existing 8.0-style queues at your earliest convenience.

When a message is dequeued using the REMOVE mode, DEQ_TIME, DEQ_USER_ID, and DEQ_TXN_ID are updated for the consumer that dequeued the message.

You can use MSGID and ORIGINAL_MSGID to chain propagated messages. When a message with message identifier m1 is propagated to a remote queue, m1 is stored in the ORIGINAL_MSGID column of the remote queue.

Beginning with Oracle Database 10g, AQ$Queue_Table_Name includes buffered messages. For buffered messages, the value of MSG_STATE is one of the following:

  • IN MEMORY

    Buffered messages enqueued by a user

  • DEFERRED

    Buffered messages enqueued by a capture process

  • SPILLED

    User-enqueued buffered messages that have been spilled to disk

  • DEFERRED SPILLED

    Capture-enqueued buffered messages that have been spilled to disk

  • BUFFERED EXPIRED

    Expired buffered messages

For JMS Sharded Queues, the columns RETRY_COUNT, EXCEPTION_QUEUE_OWNER, EXCEPTION_QUEUE, PROPAGATED_MSGID, SENDER_NAME, SENDER_ADDRESS, SENDER_PROTOCOL, ORIGINAL_MSGID, ORIGINAL_QUEUE_NAME, ORIGINAL_QUEUE_OWNER, EXPIRATION_REASON are always NULL.

For JMS Sharded Queues, this view shows messages only for durable subscribers because non durable subscribers are session specific. The view returns data from the in-memory Sharded Queue message cache if available, otherwise from the values on disk. A user is required to be one of the following in order to query from AQ$<queue_name> view for Sharded Queues:

  • user is the owner

  • user has "dequeue" privilege on queue

  • user has "dequeue any queue" privilege

The view has the following difference for Sharded Queues for 12c and future releases:

  • MSG_PRIORITY is defined as NUMBER(38)

  • MSG_STATE in a queue table does not have BUFFERED_EXPIRED hence the max length of UNDELIVERABLE is taken as length got MSG_STATE.

  • EXPIRATION is defined as TIMESTAMP(6) WITH TIME ZONE in a queue table.

  • USER_DATA column is defined using a decode on USERDATA_RAW and USERDATA_BLOB with UTL_RAW.CAST_TO_VARCHAR2.

  • CONSUMER_NAME is defined as VARCHAR2(128)

Table 10-1 AQ$<Queue_Table_Name> View

Column Datatype NULL For JMS Sharded Queues 12c Release 1 (12.1) Description

QUEUE

VARCHAR2(30)

-

Queue name

SHARD_ID

NUMBER

-

N/A for 11g

SUBSHARD_ID

NUMBER

-

N/A for 11g

MSG_ID

RAW(16)

NOT NULL

Unique identifier of the message

CORR_ID

VARCHAR2(128)

-

User-provided correlation identifier

MSG_PRIORITY

NUMBER

-

NUMBER(38)

Message priority

MSG_STATE

VARCHAR2(16)

-

Message state. 12c Release 1 (12.1) queue table doesnt have BUFFERED_EXPIRED. Hence for 12c Release 1 (12.1) the max length of UNDELIVERABLE is taken as length got MSG_STATE

DELAY

DATE

-

Time in date format at which the message in waiting state would become ready. Equals ENQUEUE_TIME + user specified DELAY

DELAY_TIMESTAMP

TIMESTAMP

-

Time as a timestamp format at which the message in waiting state would become ready. Equals ENQUEUE_TIMESTAMP + user specified DELAY

EXPIRATION

NUMBER

-

TIMESTAMP(6) WITH TIME ZONE

Number of seconds in which the message expires after being READY

RETENTION_TIMESTAMP

TIMESTAMP(6)

-

N/A for 11g

ENQ_TIME

DATE

-

Enqueue time

ENQ_TIMESTAMP

TIMESTAMP

-

Enqueue time

ENQ_USER_ID

NUMBER

-

Enqueue user ID

ENQ_USER_ID (10.1 queue tables)

VARCHAR2(30)

-

Enqueue user name

ENQ_TXN_ID

VARCHAR2(30)

-

Enqueue transaction ID

DEQ_TIME

DATE

-

Dequeue time

DEQ_TIMESTAMP

TIMESTAMP

-

Dequeue time

DEQ_USER_ID

NUMBER

-

Dequeue user ID

DEQ_USER_ID (10.1 queue tables)

VARCHAR2(30)

-

Dequeue user name

DEQ_TXN_ID

VARCHAR2(30)

-

Dequeue transaction ID

RETRY_COUNT

NUMBER

-

NULL

Number of retries

EXCEPTION_QUEUE_OWNER

VARCHAR2(30)

-

NULL

Exception queue schema

EXCEPTION_QUEUE

VARCHAR2(30)

-

NULL

Exception queue name

USER_DATA

-

-

User data. USER_DATA column is defined using a decode on USERDATA_RAW and USERDATA_BLOB with UTL_RAW.CAST_TO_VARCHAR2 for 12c Release 1 (12.1).

SENDER_NAME

VARCHAR2(30)

-

NULL

Name of the agent enqueuing the message (valid only for 8.1-compatible queue tables)

SENDER_ADDRESS

VARCHAR2(1024)

-

NULL

Queue name and database name of the source (last propagating) queue (valid only for 8.1-compatible queue tables). The database name is not specified if the source queue is in the local database.

SENDER_PROTOCOL

NUMBER

-

NULL

Protocol for sender address (reserved for future use and valid only for 8.1-compatible queue tables)

ORIGINAL_MSGID

RAW(16)

-

NULL

Message ID of the message in the source queue (valid only for 8.1-compatible queue tables)

CONSUMER_NAME

VARCHAR2(30)

-

VARCHAR2(128)

Name of the agent receiving the message (valid only for 8.1-compatible multiconsumer queue tables)

ADDRESS

VARCHAR2(1024)

-

Queue name and database link name of the agent receiving the message.The database link name is not specified if the address is in the local database. The address is NULL if the receiving agent is local to the queue (valid only for 8.1-compatible multiconsumer queue tables)

PROTOCOL

NUMBER

-

Protocol for address of receiving agent (valid only for 8.1-compatible queue tables)

PROPAGATED_MSGID

RAW(16)

-

NULL

Message ID of the message in the queue of the receiving agent (valid only for 8.1-compatible queue tables)

ORIGINAL_QUEUE_NAME

VARCHAR2(30)

-

NULL

Name of the queue the message came from

ORIGINAL_QUEUE_OWNER

VARCHAR2(30)

-

NULL

Owner of the queue the message came from

EXPIRATION_REASON

VARCHAR2(19)

-

NULL

Reason the message came into exception queue. Possible values are TIME_EXPIRATION (message expired after the specified expired time), MAX_RETRY_EXCEEDED (maximum retry count exceeded), and PROPAGATION_FAILURE (message became undeliverable during propagation).

Note:

A message is moved to an exception queue if RETRY_COUNT is greater than MAX_RETRIES. If a dequeue transaction fails because the server process dies (including ALTER SYSTEM KILL SESSION) or SHUTDOWN ABORT on the instance, then RETRY_COUNT is not incremented.

AQ$<Queue_Table_Name_S>: Queue Subscribers

The AQ$<Queue_Table_Name_S> view provides information about subscribers for all the queues in any given queue table.

It shows subscribers created by users with DBMS_AQADM.ADD_SUBSCRIBER and subscribers created for the apply process to apply user-created events. It also displays the transformation for the subscriber, if it was created with one. It is generated when the queue table is created.

This view provides functionality that is equivalent to the DBMS_AQADM.QUEUE_SUBSCRIBERS() procedure. For these queues, Oracle recommends that the view be used instead of this procedure to view queue subscribers. This view is created only for 8.1-compatible queue tables.

Table 10-2 AQ$<Queue_Table_Name_S> View

Column Datatype NULL Description

QUEUE

VARCHAR2(30)

NOT NULL

Name of queue for which subscriber is defined

NAME

VARCHAR2(30)

-

Name of agent

ADDRESS

VARCHAR2(1024)

-

Address of agent

PROTOCOL

NUMBER

-

Protocol of agent

TRANSFORMATION

VARCHAR2(61)

-

Name of the transformation (can be null)

AQ$<Queue_Table_Name_R>: Queue Subscribers and Their Rules

The AQ$<Queue_Table_Name_R> view displays only the subscribers based on rules for all queues in a given queue table, including the text of the rule defined by each subscriber.

It also displays the transformation for the subscriber, if one was specified. It is generated when the queue table is created.

This view is created only for 8.1-compatible queue tables.

Table 10-3 AQ$<Queue_Table_Name_R> View

Column Datatype NULL Description

QUEUE

VARCHAR2(30)

NOT NULL

Name of queue for which subscriber is defined

NAME

VARCHAR2(30)

-

Name of agent

ADDRESS

VARCHAR2(1024)

-

Address of agent

PROTOCOL

NUMBER

-

Protocol of agent

RULE

CLOB

-

Text of defined rule

RULE_SET

VARCHAR2(65)

-

Set of rules

TRANSFORMATION

VARCHAR2(61)

-

Name of the transformation (can be null)

AQ$Queue_Name_R: Queue Subscribers and Their Rules for Multi-consumer Queue

This table shows queue subscribers and their rules for multi-consumer queue.

Table 10-4 AQ$Queue_Name_R: Queue Subscribers and Their Rules for Multi-consumer Queue

Column Datatype NULL

QUEUE

VARCHAR2(30)

NOT NULL

NAME

VARCHAR2(30)

-

ADDRESS

VARCHAR2(1024)

-

PROTOCOL

NUMBER

-

RULE

CLOB

-

RULE_SET

VARCHAR2(65)

-

TRANSFORMATION

VARCHAR2(65)

-

AQ$Queue_Name_S: Queue Subscribers and Their Rules for Multi-consumer Queue

This table shows queue subscribers and their rules for multi-consumer queue.

Table 10-5 AQ$Queue_Name_S: Queue Subscribers and Their Rules for Multi-consumer Queue

Column Datatype NULL

QUEUE

VARCHAR2(30)

NOT NULL

NAME

VARCHAR2(30)

-

ADDRESS

VARCHAR2(1024)

-

PROTOCOL

NUMBER

-

TRANSFORMATION

VARCHAR2(65)

-

QUEUE_TO_QUEUE

VARCHAR2(5)

-

DBA_QUEUE_SUBSCRIBERS: All Queue Subscribers in Database

The DBA_QUEUE_SUBSCRIBERS view returns a list of all subscribers on all queues in the database.

Its columns are the same as those in ALL_QUEUE_SUBSCRIBERS.

See Also:

Oracle Database Reference for more information about DBA_QUEUE_SUBSCRIBERS.

USER_QUEUE_SUBSCRIBERS: Queue Subscribers in User Schema

The USER_QUEUE_SUBSCRIBERS view returns a list of subscribers on queues in the schema of the current user.

Its columns are the same as those in ALL_QUEUE_SUBSCRIBERS except that it does not contain the OWNER column.

See Also:

Oracle Database Reference for more information about USER_QUEUE_SUBSCRIBERS.

ALL_QUEUE_SUBSCRIBERS: Subscribers for Queues Where User Has Queue Privileges

The ALL_QUEUE_SUBSCRIBERS view returns a list of subscribers to queues that the current user has privileges to dequeue from.

See Also:

Oracle Database Reference for more information about ALL_QUEUE_SUBSCRIBERS.

DBA_TRANSFORMATIONS: All Transformations

The DBA_TRANSFORMATIONS view displays all the transformations in the database.

These transformations can be specified with Advanced Queue operations like enqueue, dequeue and subscribe to automatically integrate transformations in messaging. This view is accessible only to users having DBA privileges.

See Also:

Oracle Database Reference for more information about DBA_TRANSFORMATIONS.

DBA_ATTRIBUTE_TRANSFORMATIONS: All Transformation Functions

The DBA_ATTRIBUTE_TRANSFORMATIONS view displays the transformation functions for all the transformations in the database.

See Also:

Oracle Database Reference for more information about DBA_ATTRIBUTE_TRANSFORMATIONS.

USER_TRANSFORMATIONS: User Transformations

The USER_TRANSFORMATIONS view displays all the transformations owned by the user.

To view the transformation definition, query USER_ATTRIBUTE_TRANSFORMATIONS.

See Also:

Oracle Database Reference for more information about USER_TRANSFORMATIONS.

USER_ATTRIBUTE_TRANSFORMATIONS: User Transformation Functions

The USER_ATTRIBUTE_TRANSFORMATIONS view displays the transformation functions for all the transformations of the user.

See Also:

Oracle Database Reference for more information about USER_ATTRIBUTE_TRANSFORMATIONS.

DBA_SUBSCR_REGISTRATIONS: All Subscription Registrations

The DBA_SUBSCR_REGISTRATIONS view lists all the subscription registrations in the database.

See Also:

Oracle Database Reference for more information about DBA_SUBSCR_REGISTRATIONS.

USER_SUBSCR_REGISTRATIONS: User Subscription Registrations

The USER_SUBSCR_REGISTRATIONS view lists the subscription registrations in the database for the current user.

Its columns are the same as those in DBA_SUBSCR_REGISTRATIONS.

See Also:

Oracle Database Reference for more information about USER_SUBSCR_REGISTRATIONS.

AQ$INTERNET_USERS: Oracle Database Advanced Queuing Agents Registered for Internet Access

The AQ$INTERNET_USERS view provides information about the agents registered for Internet access to Oracle Database Advanced Queuing. It also provides the list of database users that each Internet agent maps to.

Table 10-6 AQ$INTERNET_USERS View

Column Datatype NULL Description

AGENT_NAME

VARCHAR2(30)

-

Name of the Oracle Database Advanced Queuing Internet agent

DB_USERNAME

VARCHAR2(30)

-

Name of database user that this Internet agent maps to

HTTP_ENABLED

VARCHAR2(4)

-

Indicates whether this agent is allowed to access Oracle Database Advanced Queuing through HTTP (YES or NO)

FTP_ENABLED

VARCHAR2(4)

-

Indicates whether this agent is allowed to access Oracle Database Advanced Queuing through FTP (always NO in current release)

V$AQ: Number of Messages in Different States in Database

The V$AQ view provides information about the number of messages in different states for the whole database.

In a Oracle Real Application Clusters environment, each instance keeps its own Oracle Database Advanced Queuing statistics information in its own System Global Area (SGA), and does not have knowledge of the statistics gathered by other instances. When a GV$AQ view is queried by an instance, all other instances funnel their Oracle Database Advanced Queuing statistics information to the instance issuing the query.

See Also:

Oracle Database Reference for more information about V$AQ.

V$BUFFERED_QUEUES: All Buffered Queues in the Instance

The V$BUFFERED_QUEUES view displays information about all buffered queues in the instance. There is one row per queue.

See Also:

Oracle Database Reference for more information about V$BUFFERED_QUEUES.

V$BUFFERED_SUBSCRIBERS: Subscribers for All Buffered Queues in the Instance

The V$BUFFERED_SUBSCRIBERS view displays information about the subscribers for all buffered queues in the instance. There is one row per subscriber per queue.

See Also:

Oracle Database Reference for more information about V$BUFFERED_SUBSCRIBERS.

V$BUFFERED_PUBLISHERS: All Buffered Publishers in the Instance

The V$BUFFERED_PUBLISHERS view displays information about all buffered publishers in the instance.

There is one row per queue per sender. The values are reset to zero when the database (or instance in an Oracle RAC environment) restarts.

See Also:

Oracle Database Reference for more information about V$BUFFERED_PUBLISHERS.

V$PERSISTENT_QUEUES: All Active Persistent Queues in the Instance

The V$PERSISTENT_QUEUES view displays information about all active persistent queues in the database since the queues' first activity time.

There is one row per queue. The rows are deleted when the database (or instance in an Oracle RAC environment) restarts.

See Also:

Oracle Database Reference for more information about V$PERSISTENT_QUEUES.

V$PERSISTENT_QMN_CACHE: Performance Statistics on Background Tasks for Persistent Queues

The V$PERSISTENT_QMN_CACHE view displays detailed statistics about all background activities relating to all queue tables in the database.

There is one row per queue table. The values are reset when the database (or instance in an Oracle RAC environment) restarts.

See Also:

Oracle Database Reference for more information about V$PERSISTENT_QMN_CACHE.

V$PERSISTENT_SUBSCRIBERS: All Active Subscribers of the Persistent Queues in the Instance

The V$PERSISTENT_SUBSCRIBERS view displays information about all active subscribers of the persistent queues in the database.

There is one row per instance per queue per subscriber. The rows are deleted when the database (or instance in an Oracle RAC environment) restarts.

See Also:

Oracle Database Reference for more information about V$PERSISTENT_SUBSCRIBERS.

V$PERSISTENT_PUBLISHERS: All Active Publishers of the Persistent Queues in the Instance

The V$PERSISTENT_PUBLISHERS view displays information about all active publishers of the persistent queues in the database.

There is one row per instance per queue per publisher. The rows are deleted when the database (or instance in an Oracle RAC environment) restarts.

See Also:

Oracle Database Reference for more information about V$PERSISTENT_PUBLISHERS.

V$PROPAGATION_SENDER: Buffer Queue Propagation Schedules on the Sending (Source) Side

The V$PROPAGATION_SENDER view displays information about buffer queue propagation schedules on the sending (source) side.

The values are reset to zero when the database (or instance in a Oracle Real Application Clusters (Oracle RAC) environment) restarts, when propagation migrates to another instance, or when an unscheduled propagation is attempted.

See Also:

Oracle Database Reference for more information about V$PROPAGATION_SENDER .

V$PROPAGATION_RECEIVER: Buffer Queue Propagation Schedules on the Receiving (Destination) Side

The V$PROPAGATION_RECEIVER view displays information about buffer queue propagation schedules on the receiving (destination) side.

The values are reset to zero when the database (or instance in a Oracle Real Application Clusters (Oracle RAC) environment) restarts, when propagation migrates to another instance, or when an unscheduled propagation is attempted.

See Also:

Oracle Database Reference for more information about V$PROPAGATION_RECEIVER.

V$SUBSCR_REGISTRATION_STATS: Diagnosability of Notifications

The V$SUBSCR_REGISTRATION_STATS view provides information for diagnosability of notifications.

See Also:

Oracle Database Reference for more information about V$SUBSCR_REGISTRATION_STATS.

V$METRICGROUP: Information About the Metric Group

This V$METRICGROUP view displays information about the metric group for each of the four major Streams components: capture, propagation, apply, and queue.

See Also:

Oracle Database Reference for more information about V$METRICGROUP.

V$AQ_MESSAGE_CACHE_STAT: Memory Management for Sharded Queues

The V$AQ_MESSAGE_CACHE_STAT view displays statistics about memory management for sharded queues in streams_pool within the System Global Area (SGA). Sharded queue uses streams_pool in units of subshards. Thus columns of this view shows statistics at subshard level irrespective of the queue. This view shows statistics across all sharded queues.

Table 10-7 V$AQ_MESSAGE_CACHE_STAT View

Column Datatype Description

INST_ID

NUMBER

The instance id of the sharded queue

NUM_EVICTED

NUMBER

Number of evicted subshards across all sharded queues

NUM_PREFETCHED

NUMBER

Number of subshards pre-fetched by AQ background Process

NUM_UNEVICTION

NUMBER

Number of subshards un-evicted by foreground process. (like dequeue process)

NUM_UNCACHED

NUMBER

Number of subshards stored as uncached.

NUM_TRACKED

NUMBER

Number of subshards which are actively tracking dequeue rates

NUM_CACHED

NUMBER

Number of subshards stored cached in memory

MAX_SUBSH_SIZE

NUMBER

Maximum subshard size seen till now, in terms of number of messages per subshard

MIN_SUBSH_SIZE

NUMBER

Minimum subshard size seen till now, in terms of number of messages per subshard

MEAN_SUBSH_SIZE

NUMBER

Mean subshard size seen till now, in terms of number of messages per subshard

AVG_EVICTION_RATE

NUMBER

Average number of subshard evicted per second

AVG_LOAD_RATE

NUMBER

Average number of subshards pre-fetched or un-evicted per second

AVG_EVICTION_TIME

NUMBER

Average time taken to evict one subshard (in milliseconds)

AVG_LOAD_TIME

NUMBER

Average time taken to un-evict one subshard (in milliseconds)

AVG_MISS_RATIO

NUMBER

Average ratio of number of foreground un-evictions versus background pre-fetch

AVG_THRASH_RATIO

NUMBER

Average ratio of number of subshard pre-fetched by background without dequeue attempt versus total number of subshards prefetched

CON_ID

NUMBER

The ID of the container to which the data pertains. Possible values include:

  • 0: This value is used for rows containing data that pertain to the entire CDB. This value is also used for rows in non-CDBs.

  • 1: This value is used for rows containing data that pertain to only the root

  • n: Where n is the applicable container ID for the rows containing data

Note:

Some of the above mentioned columns will be used by sharded queue memory advisor during analysis.

V$AQ_SHARDED_SUBSCRIBER_STAT: Sharded Queue Subscriber Statistics

The V$AQ_SHARDED_SUBSCRIBER_STAT view displays statistical information about the subscribers of sharded queues. This statistics is used by the memory advisor.

Table 10-8 V$AQ_SHARDED_SUBSCRIBER_STAT View

Column Datatype Description

INST_ID

NUMBER

Instance Identifier

QUEUE_ID

NUMBER

Queue Identifier

SUBSCRIBER_ID

NUMBER

Subscriber Identifier

SHARD_ID

NUMBER

Shard Identifier

PRIORITY

NUMBER

Priority value of the shard

DEQUEUE_SUBSHARD

NUMBER

Last known dequeue position in this shard

ENQUEUED_MSGS

NUMBER

Number of enqueued messages

DEQUEUED_MSGS

NUMBER

Number of dequeued messages

ELAPSED_DEQUEUE_TIME

NUMBER

Amount of time spent performing dequeues (in seconds)

CPU_DEQUEUE_TIME

NUMBER

Actual amount of CPU time spent performing dequeues (in seconds)

DEQUEUE_RATE

NUMBER

Number of messages dequeued per second

TIME_SINCE_LAST_DEQUEUE

NUMBER

Time since last dequeue activity (in seconds)

ESTD_TIME_TO_DRAIN

NUMBER

Estimated amount of time to drain the shard (in seconds) with current enqueue and dequeue rates. Null, if enqueue rate is greater than dequeue rate

ESTD_TIME_TO_DRAIN_NO_ENQ

NUMBER

Estimated amount of time to drain the shard (in seconds) with no new enqueues

CON_ID

NUMBER

The ID of the container to which the data pertains.

V$AQ_MESSAGE_CACHE_ADVICE: Simulated Metrics

The V$AQ_MESSAGE_CACHE_ADVICE view shows simulated metrics for a range of potential message cache sizes. This view assists in cache sizing by providing information in form of metrics as described below.

Table 10-9 V$AQ_MESSAGE_CACHE_ADVICE View

Column Datatype Description

INST_ID

NUMBER

Instance id

SIZE_FOR_ESTIMATE

NUMBER

Cache size for simulation (in megabytes)

SIZE_FACTOR

NUMBER

Size factor with respect to the current cache size (in %)

ESTD_SIZE_TYPE

VARCHAR2

This column can have one of the following values:

  • MINIMUM - This cache size is required to have all dequeues in-memory (no uncached)

  • CURRENT - This is current size of message cache

  • MAXIMUM - This cache size is required to have zero evictions

  • Null - otherwise

ESTD_CACHED_SUBSHARDS

NUMBER

Estimated number of cached subshards for this size

ESTD_UNCACHED_SUBSHARDS

NUMBER

Estimated number of uncached subshards for this size

ESTD_EVICTIONS

NUMBER

Estimated number of subshards evicted for this size

ESTD_EVICTION_RATE

NUMBER

Estimated number of subshards getting evicted per minute

ESTD_FG_UNEVICTIONS

NUMBER

Estimated number of subshards unevicted by foreground processes

ESTD_FG_UNEVICTION_RATE

NUMBER

Estimated number of subshards getting unevicted by foreground processes

ESTD_BG_UNEVICTIONS

NUMBER

Estimated number of subshards unevicted by background processes

ESTD_BG_UNEVICTION_RATE

NUMBER

Estimated number of subshards getting unevicted by background processes

ESTD_BG_PROCESSES

NUMBER

Estimated number of background processes required for this size

TOTAL_ENQUEUE_RATE

NUMBER

Simulated number of messages being enqueued per second

TOTAL_DEQUEUE_RATE

NUMBER

Simulated number of messages being dequeued per second

AVG_SUBSHARD_SIZE

NUMBER

Simulated average number of messages per cached subshard

AVG_SUBSHARD_MEMORY

NUMBER

Simulated average memory per cached subshard (in megabytes)

AVG_EVICTION_TIME

NUMBER

Simulated average time to evict a cached subshard (in milliseconds)

AVG_UNEVICTION_TIME

NUMBER

Simulated average time to unevict a cached subshard (in milliseconds)

FLAGS

NUMBER

Reserved for internal and future use

SIMULATION_TIME

NUMBER

Amount of time that was simulated for (in minutes)

CON_ID

NUMBER

The ID of the container to which the data pertains.

V$AQ_REMOTE_DEQUEUE_AFFINITY: Dequeue Affinity Instance List

The V$AQ_REMOTE_DEQUEUE_AFFINITY view lists the dequeue affinity instance of the subscribers not dequeuing locally from the shard's owner instance. Cross instance message forwarding is used for these subscribers.

Table 10-10 V$AQ_REMOTE_DEQUEUE_AFFINITY View

Column Datatype Description

QUEUE_ID

NUMBER

Queue Identifier

QUEUE_SCHEMA

VARCHAR2

Queue schema name

QUEUE_NAME

VARCHAR2

Queue name

SUBSCRIBER_ID

NUMBER

Subscriber identifier

SHARD_ID

NUMBER

Shard identifier which is being forwarded from SOURCE_INSTANCE to INST_ID for the subscriber

SOURCE_INSTANCE

NUMBER

Owner instance from where the shard is being forwarded

INST_ID

NUMBER

Dequeue instance id of the subscriber for the shard. Destination instance where shard is forwarded for the subscriber

See Also:

Oracle Database Reference for more information about V$AQ_REMOTE_DEQUEUE_AFFINITY.

V$AQ_BACKGROUND_COORDINATOR: Performance Statistics for AQ's Master Background Coordinator Process (AQPC)

The V$AQ_BACKGROUND_COORDINATOR view is applicable for Oracle Database 12c Release 1 (12.1) onwards.

This view lists performance statistics for the Oracle Database Advanced Queuing master background coordinator process (AQPC).

See Also:

Oracle Database Reference for more information about V$AQ_BACKGROUND_COORDINATOR.

V$AQ_JOB_COORDINATOR: Performance Statistics per Coordinator

The V$AQ_JOB_COORDINATOR view is applicable for Oracle Database 12c Release 1 (12.1) onwards.

This view lists performance statistics per coordinator, for every AQ coordinator controlled by the AQ's Master coordinator.

See Also::

Oracle Database Reference for more information about V$AQ_JOB_COORDINATOR.

V$AQ_SERVER_POOL: Performance Statistics for all Servers

The V$AQ_SERVER_POOL view is applicable for Oracle Database 12c Release 1 (12.1) onwards. This view lists performance statistics for all the servers in the pool.

See Also::

Oracle Database Reference for more information about V$AQ_SERVER_POOL.

V$AQ_CROSS_INSTANCE_JOBS: Cross Process Jobs Description

The V$AQ_CROSS_INSTANCE_JOBS view is applicable for Oracle Database 12c Release 1 (12.1) onwards. This view describes each of the cross process jobs.

Each job serves for forwarding messages for a shard from source instance to destination instance for a set of subscribers.

See Also::

Oracle Database Reference for more information about V$AQ_CROSS_INSTANCE_JOBS.

V$AQ_IPC_ACTIVE_MSGS

V$AQ_IPC_ACTIVE_MSGS displays information about long and priority messages being processed by slaves and the short message being processed by the master.

See Also:

Oracle Database Reference for more information about V$AQ_IPC_ACTIVE_MSGS.

V$AQ_IPC_MSG_STATS

V$AQ_IPC_MSG_STATS displays cumulative statistics for each message class, for example., cumulative calls, average pending/processing time, and last failure.

See Also:

Oracle Database Reference for more information about V$AQ_IPC_MSG_STATS.

V$AQ_IPC_PENDING_MSGS

V$AQ_IPC_PENDING_MSGS displays information about pending messages, present in the local master context.

See Also:

Oracle Database Reference for more information about V$AQ_IPC_PENDING_MSGS.

V$AQ_NONDUR_REGISTRATIONS: Non-Durable Registrations

The V$AQ_NONDUR_REGISTRATIONS view is applicable for Oracle Database 12c Release 1 (12.1) onwards. This view provides information about non-durable subscriptions.

See Also::

Oracle Database Reference for more information about V$AQ_NONDUR_REGISTRATIONS.

V$AQ_NOTIFICATION_CLIENTS: Secure OCI Client Connections

The V$AQ_NOTIFICATION_CLIENTS view is applicable for Oracle Database 12c Release 1 (12.1) onwards. This view displays performance statistics for secure OCI client connections.

See Also::

Oracle Database Reference for more information about V$AQ_NOTIFICATION_CLIENTS.

V$AQ_SUBSCRIBER_LOAD: Durable Subscribers

The V$AQ_SUBSCRIBER_LOAD view is applicable for Oracle Database 12c Release 1 (12.1) onwards. This view describes the load of all subscribers of sharded queues in terms of latency at every instance in an Oracle RAC environment.

Latency denotes the predicted amount of time (in seconds) required from the current time to drain all the messages for that subscriber at each respective instance. The latency calculation considers past enqueue/dequeue rates and future enqueue/dequeue rates based on history.

See Also::

Oracle Database Reference for more information about V$AQ_SUBSCRIBER_LOAD.

V$AQ_NONDUR_SUBSCRIBER: Non-Durable Subscribers

The V$AQ_NONDUR_SUBSCRIBER view is applicable for Oracle Database 12c Release 1 (12.1) onwards. V$AQ_NONDUR_SUBSCRIBER provides information about non-durable subscribers on sharded queues.

See Also::

Oracle Database Reference for more information about V$AQ_NONDUR_SUBSCRIBER.

V$AQ_NONDUR_SUBSCRIBER_LWM: LWM of Non Durable Subscriber

The V$AQ_NONDUR_SUBSCRIBER_LWM view is applicable for Oracle Database 12c Release 1 (12.1) onwards. The LWM of a non durable subscriber is a combination of shard, priority and LWM (sub-shard).

See Also::

Oracle Database Reference for more information about V$AQ_NONDUR_SUBSCRIBER_LWM.

V$AQ_MESSAGE_CACHE: Performance Statistics

The V$AQ_MESSAGE_CACHE view provides performance statistics of the message cache for sharded queues at the subshard level in the instance.

See Also::

Oracle Database Reference for more information about V$AQ_MESSAGE_CACHE.