Table of Contents
- List of Examples
- List of Figures
- List of Tables
- Title and Copyright Information
- Preface
-
Changes in This Release for Oracle Database Advanced Queuing User's Guide
- Changes in Oracle Database Advanced Queuing Release 21c
- Changes in Oracle Database Advanced Queuing Release 19c, Version 19.2
- Changes in Oracle Database Advanced Queuing 12c Release 2 (12.2.)
- Changes in Oracle Database Advanced Queuing 12c Release 1 (12.1.0.2)
- Changes in Oracle Database Advanced Queuing 12c Release 1 (12.1)
-
1
Introduction to Transactional Event Queues and Advanced Queuing
- What Is Queuing?
- Transactional Event Queues Leverage Oracle Database
- Transactional Event Queues and Advanced Queuing in Integrated Application Environments
- Buffered Messaging
- Asynchronous Notifications
- Enqueue Features
- Dequeue Features
- Propagation Features
- Message Format Transformation
- Other Oracle Database Advanced Queuing Features
- Interfaces to Transactional Event Queues and Advanced Queuing
-
2
Basic Components of Oracle Transactional Event Queues and Advanced Queuing
- Object Name
- Type Name
- AQ Agent Type
- AQ Recipient List Type
- AQ Agent List Type
- AQ Subscriber List Type
- AQ Registration Information List Type
- AQ Post Information List Type
- AQ Registration Information Type
- AQ Notification Descriptor Type
- AQ Message Properties Type
- AQ Post Information Type
- AQ$_NTFN_MSGID_ARRAY Type
- Enumerated Constants for AQ Administrative Interface
- Enumerated Constants for AQ Operational Interface
- AQ Background Processes
-
3
Oracle Transactional Event Queues and Advanced Queuing: Programmatic Interfaces
- Programmatic Interfaces for Accessing Oracle Database Advanced Queuing
- Using PL/SQL to Access Oracle Database Advanced Queuing
- Using OCI and the Thin JDBC Driver to Access Oracle Database Advanced Queuing
- Using OCCI to Access Oracle Database Advanced Queuing
- Using Oracle Java Message Service (Oracle JMS) to Access Oracle Database Advanced Queuing
- Using Oracle Database Advanced Queuing XML Servlet to Access Oracle Database Advanced Queuing
-
4
Managing Oracle Transactional Event Queues and Advanced Queuing
- Oracle Database Advanced Queuing Compatibility Parameters
- Queue Security and Access Control
- Queue Table Export/Import
- Oracle Enterprise Manager Support for AQ Queues
- Using Oracle Database Advanced Queuing with XA
- Restrictions on Queue Management
- Managing Propagation
- 5 Interoperability of Transactional Event Queue with Apache Kafka
- 6 Kafka Java Client Interface for Oracle Transactional Event Queues
-
7
Java Message Service for Transactional Event Queues and Advanced Queuing
-
Java Messaging Service Interface for Oracle Transactional Event Queues and Advanced Queuing
- General Features of JMS and Oracle JMS
- Structured Payload/Message Types in JMS
- Buffered Messaging in JMS
- JMS Point-to-Point Model Features
- JMS Publish/Subscribe Model Features
- JMS Message Producer Features
- JMS Message Consumer Features
- JMS Propagation
- Message Transformation with JMS AQ
- JMS Streaming
- Java EE Compliance
-
Oracle Java Message Service Basic Operations
- EXECUTE Privilege on DBMS_AQIN
- Registering a ConnectionFactory
- Unregistering a Queue/Topic ConnectionFactory
- Getting a QueueConnectionFactory or TopicConnectionFactory
- Getting a Queue or Topic in LDAP
- Creating an AQ Queue Table
- Creating a Queue
- Getting an AQ Queue Table
- Granting and Revoking Privileges
- Managing Destinations
- Propagation Schedules
-
Oracle Java Message Service Point-to-Point
- Creating a Connection with User Name/Password
- Creating a Connection with Default ConnectionFactory Parameters
- Creating a QueueConnection with User Name/Password
- Creating a QueueConnection with an Open JDBC Connection
- Creating a QueueConnection with Default ConnectionFactory Parameters
- Creating a QueueConnection with an Open OracleOCIConnectionPool
- Creating a Session
- Creating a QueueSession
- Creating a QueueSender
- Sending Messages Using a QueueSender with Default Send Options
- Sending Messages Using a QueueSender by Specifying Send Options
- Creating a QueueBrowser for Standard JMS Type Messages
- Creating a QueueBrowser for Standard JMS Type Messages, Locking Messages
- Creating a QueueBrowser for Oracle Object Type Messages
- Creating a QueueBrowser for Oracle Object Type Messages, Locking Messages
- Creating a QueueReceiver for Standard JMS Type Messages
- Creating a QueueReceiver for Oracle Object Type Messages
-
Oracle Java Message Service Publish/Subscribe
- Creating a Connection with User Name/Password
- Creating a Connection with Default ConnectionFactory Parameters
- Creating a TopicConnection with User Name/Password
- Creating a TopicConnection with Open JDBC Connection
- Creating a TopicConnection with an Open OracleOCIConnectionPool
- Creating a Session
- Creating a TopicSession
- Creating a TopicPublisher
- Publishing Messages with Minimal Specification
- Publishing Messages Specifying Topic
- Publishing Messages Specifying Delivery Mode, Priority, and TimeToLive
- Publishing Messages Specifying a Recipient List
- Creating a DurableSubscriber for a JMS Topic Without Selector
- Creating a DurableSubscriber for a JMS Topic with Selector
- Creating a DurableSubscriber for an Oracle Object Type Topic Without Selector
- Creating a DurableSubscriber for an Oracle Object Type Topic with Selector
- Specifying Transformations for Topic Subscribers
- Creating a Remote Subscriber for JMS Messages
- Creating a Remote Subscriber for Oracle Object Type Messages
- Specifying Transformations for Remote Subscribers
- Unsubscribing a Durable Subscription for a Local Subscriber
- Unsubscribing a Durable Subscription for a Remote Subscriber
- Creating a TopicReceiver for a Topic of Standard JMS Type Messages
- Creating a TopicReceiver for a Topic of Oracle Object Type Messages
- Creating a TopicBrowser for Standard JMS Messages
- Creating a TopicBrowser for Standard JMS Messages, Locking Messages
- Creating a TopicBrowser for Oracle Object Type Messages
- Creating a TopicBrowser for Oracle Object Type Messages, Locking Messages
- Browsing Messages Using a TopicBrowser
-
Oracle Java Message Service Shared Interfaces
-
Oracle Database Advanced Queuing JMS Operational Interface: Shared Interfaces
- Starting a JMS Connection
- Getting a JMS Connection
- Committing All Operations in a Session
- Rolling Back All Operations in a Session
- Getting the JDBC Connection from a Session
- Getting the OracleOCIConnectionPool from a JMS Connection
- Creating a BytesMessage
- Creating a MapMessage
- Creating a StreamMessage
- Creating an ObjectMessage
- Creating a TextMessage
- Creating a JMS Message
- Creating an AdtMessage
- Setting a JMS Correlation Identifier
-
Specifying JMS Message Properties
- Setting a Boolean Message Property
- Setting a String Message Property
- Setting an Integer Message Property
- Setting a Double Message Property
- Setting a Float Message Property
- Setting a Byte Message Property
- Setting a Long Message Property
- Setting a Short Message Property
- Setting an Object Message Property
- Setting Default TimeToLive for All Messages Sent by a MessageProducer
- Setting Default Priority for All Messages Sent by a MessageProducer
- Creating an AQjms Agent
- Receiving a Message Synchronously
- Specifying the Navigation Mode for Receiving Messages
- Receiving a Message Asynchronously
- Getting Message ID
-
Getting JMS Message Properties
- Getting a Boolean Message Property
- Getting a String Message Property
- Getting an Integer Message Property
- Getting a Double Message Property
- Getting a Float Message Property
- Getting a Byte Message Property
- Getting a Long Message Property
- Getting a Short Message Property
- Getting an Object Message Property
- Closing and Shutting Down
- Troubleshooting
-
Oracle Database Advanced Queuing JMS Operational Interface: Shared Interfaces
- Oracle Java Message Service Types Examples
-
Java Messaging Service Interface for Oracle Transactional Event Queues and Advanced Queuing
-
8
Oracle Database Advanced Queuing Operations Using PL/SQL
- Using Secure Queues
- Enqueuing Messages
- Enqueuing an Array of Messages
- Listening to One or More Queues
- Dequeuing Messages
- Dequeuing an Array of Messages
- Registering for Notification
- Unregistering for Notification
- Posting for Subscriber Notification
- Adding an Agent to the LDAP Server
- Removing an Agent from the LDAP Server
-
9
Oracle Transactional Event Queues and Advanced Queuing Performance and Scalability
-
Transactional Event Queues
- Transactional Event Queues and the Message Cache
- Transactional Event Queues and Enqueuing / Dequeuing Messages
- Transactional Event Queues and Native JMS Support
- Transactional Event Queues and Partitioning
- Transactional Event Queues and Oracle Real Application Clusters (Oracle RAC)
- Transactional Event Queues and Message Retention
- Transactional Event Queues and Seekable Subscribers
- Transactional Event Queues Restrictions
- Transactional Event Queues Tuning
- User Event Streaming
- AQ Queues
- Performance Views
-
Transactional Event Queues
-
10
Oracle Transactional Event Queue and Advanced Queuing Views
- DBA_QUEUE_TABLES: All Queue Tables in Database
- USER_QUEUE_TABLES: Queue Tables in User Schema
- ALL_QUEUE_TABLES: Queue Tables Accessible to the Current User
- DBA_QUEUES: All Queues in Database
- USER_QUEUES: Queues In User Schema
- ALL_QUEUES: Queues for Which User Has Any Privilege
- DBA_QUEUE_SCHEDULES: All Propagation Schedules
- USER_QUEUE_SCHEDULES: Propagation Schedules in User Schema
- QUEUE_PRIVILEGES: Queues for Which User Has Queue Privilege
- AQ$<Queue_Table_Name>: Messages in Queue Table
- AQ$<Queue_Table_Name_S>: Queue Subscribers
- AQ$<Queue_Table_Name_R>: Queue Subscribers and Their Rules
- AQ$Queue_Name_R: Queue Subscribers and Their Rules for Multi-consumer Queue
- AQ$Queue_Name_S: Queue Subscribers and Their Rules for Multi-consumer Queue
- DBA_QUEUE_SUBSCRIBERS: All Queue Subscribers in Database
- USER_QUEUE_SUBSCRIBERS: Queue Subscribers in User Schema
- ALL_QUEUE_SUBSCRIBERS: Subscribers for Queues Where User Has Queue Privileges
- DBA_TRANSFORMATIONS: All Transformations
- DBA_ATTRIBUTE_TRANSFORMATIONS: All Transformation Functions
- USER_TRANSFORMATIONS: User Transformations
- USER_ATTRIBUTE_TRANSFORMATIONS: User Transformation Functions
- DBA_SUBSCR_REGISTRATIONS: All Subscription Registrations
- USER_SUBSCR_REGISTRATIONS: User Subscription Registrations
- AQ$INTERNET_USERS: Oracle Database Advanced Queuing Agents Registered for Internet Access
- V$AQ: Number of Messages in Different States in Database
- V$BUFFERED_QUEUES: All Buffered Queues in the Instance
- V$BUFFERED_SUBSCRIBERS: Subscribers for All Buffered Queues in the Instance
- V$BUFFERED_PUBLISHERS: All Buffered Publishers in the Instance
- V$PERSISTENT_QUEUES: All Active Persistent Queues in the Instance
- V$PERSISTENT_QMN_CACHE: Performance Statistics on Background Tasks for Persistent Queues
- V$PERSISTENT_SUBSCRIBERS: All Active Subscribers of the Persistent Queues in the Instance
- V$PERSISTENT_PUBLISHERS: All Active Publishers of the Persistent Queues in the Instance
- V$PROPAGATION_SENDER: Buffer Queue Propagation Schedules on the Sending (Source) Side
- V$PROPAGATION_RECEIVER: Buffer Queue Propagation Schedules on the Receiving (Destination) Side
- V$SUBSCR_REGISTRATION_STATS: Diagnosability of Notifications
- V$METRICGROUP: Information About the Metric Group
- V$AQ_MESSAGE_CACHE_STAT: Memory Management for Sharded Queues
- V$AQ_SHARDED_SUBSCRIBER_STAT: Sharded Queue Subscriber Statistics
- V$AQ_MESSAGE_CACHE_ADVICE: Simulated Metrics
- V$AQ_REMOTE_DEQUEUE_AFFINITY: Dequeue Affinity Instance List
- V$AQ_BACKGROUND_COORDINATOR: Performance Statistics for AQ's Master Background Coordinator Process (AQPC)
- V$AQ_JOB_COORDINATOR: Performance Statistics per Coordinator
- V$AQ_SERVER_POOL: Performance Statistics for all Servers
- V$AQ_CROSS_INSTANCE_JOBS: Cross Process Jobs Description
- V$AQ_IPC_ACTIVE_MSGS
- V$AQ_IPC_MSG_STATS
- V$AQ_IPC_PENDING_MSGS
- V$AQ_NONDUR_REGISTRATIONS: Non-Durable Registrations
- V$AQ_NOTIFICATION_CLIENTS: Secure OCI Client Connections
- V$AQ_SUBSCRIBER_LOAD: Durable Subscribers
- V$AQ_NONDUR_SUBSCRIBER: Non-Durable Subscribers
- V$AQ_NONDUR_SUBSCRIBER_LWM: LWM of Non Durable Subscriber
- V$AQ_MESSAGE_CACHE: Performance Statistics
- 11 Monitoring Oracle Transactional Event Queues and Advanced Queuing
- 12 Troubleshooting Oracle Database Advanced Queuing
-
13
Internet Access to Oracle Database Advanced Queuing
-
Overview of Oracle Database Advanced Queuing Operations Over the Internet
- Oracle Database Advanced Queuing Internet Operations Architecture
- Internet Message Payloads
- Configuring the Web Server to Authenticate Users Sending POST Requests
- Client Requests Using HTTP
- Oracle Database Advanced Queuing Servlet Responses Using HTTP
- Oracle Database Advanced Queuing Propagation Using HTTP and HTTPS
- Deploying the Oracle Database Advanced Queuing XML Servlet
- Internet Data Access Presentation (IDAP)
-
Request and Response IDAP Documents
- IDAP Client Requests for Enqueue
- IDAP Client Requests for Dequeue
- IDAP Client Requests for Registration
- IDAP Client Requests to Commit a Transaction
- IDAP Client Requests to Roll Back a Transaction
- IDAP Server Response to an Enqueue Request
- IDAP Server Response to a Dequeue Request
- IDAP Server Response to a Register Request
- IDAP Commit Response
- IDAP Rollback Response
- IDAP Notification
- IDAP Response in Case of Error
- Notification of Messages by E-Mail
-
Overview of Oracle Database Advanced Queuing Operations Over the Internet
- 14 Oracle Database Advanced Queuing Administrative Interface
- A Nonpersistent Queues
- B Oracle JMS and Oracle AQ XML Servlet Error Messages
-
C
Oracle Messaging Gateway
- Introduction to Oracle Messaging Gateway
-
Getting Started with Oracle Messaging Gateway
- Oracle Messaging Gateway Prerequisites
-
Loading and Setting Up Oracle Messaging Gateway
- Loading Database Objects into the Database
- Modifying listener.ora for the External Procedure
- Modifying tnsnames.ora for the External Procedure
- Setting Up an mgw.ora Initialization File
- Creating an Oracle Messaging Gateway Administrator User
- Creating an Oracle Messaging Gateway Agent User
- Configuring Oracle Messaging Gateway Connection Information
- Configuring Oracle Messaging Gateway in an Oracle RAC Environment
- Setting Up Non-Oracle Messaging Systems
- Verifying the Oracle Messaging Gateway Setup
- Unloading Oracle Messaging Gateway
- Understanding the mgw.ora Initialization File
-
Working with Oracle Messaging Gateway
- Configuring the Oracle Messaging Gateway Agent
- Starting and Shutting Down the Oracle Messaging Gateway Agent
- Configuring Messaging System Links
- Configuring Non-Oracle Messaging System Queues
- Configuring Oracle Messaging Gateway Propagation Jobs
- Propagation Jobs, Subscribers, and Schedules
- Configuration Properties
- Oracle Messaging Gateway Message Conversion
- Monitoring Oracle Messaging Gateway
-
Oracle Messaging Gateway Views
- MGW_GATEWAY: Configuration and Status Information
- MGW_AGENT_OPTIONS: Supplemental Options and Properties
- MGW_LINKS: Names and Types of Messaging System Links
- MGW_MQSERIES_LINKS: WebSphere MQ Messaging System Links
- MGW_TIBRV_LINKS: TIB/Rendezvous Messaging System Links
- MGW_FOREIGN_QUEUES: Foreign Queues
- MGW_JOBS: Messaging Gateway Propagation Jobs
- MGW_SUBSCRIBERS: Information for Subscribers
- MGW_SCHEDULES: Information About Schedules
- D Advanced Queuing Sharded Queues
- Glossary
- Index