What's New in Oracle Streams AQ?

This chapter describes new features of the Oracle Database 11g Release 1 (11.1) and provides pointers to additional information:

Notification Enhancements

The following notification enhancements are introduced:

Scalability for Streams Notifications

AQ Event Notification Infrastructure provides asynchronous communication of database events from the suppliers/publishers of their events to the consumers/registrations. The event monitor sends these notifications. In order to meet the demands of increased notification use, the notification server in 11g is enhanced to a parallel notification server consisting of a coordinator and a set of subordinate processes. The parallel notification server offers a capability to process a greater volume of notifications, faster notification processing and lower shared memory use for staging notification events.

Notification Grouping By Time

Sometimes a very large number of events occur in the database and it is important that applications not be overwhelmed with notifications. The preferred strategy is for notifications to be grouped and delivered at application-specified intervals and in application-specified formats. Oracle Streams AQ provides the infrastructure for notification grouping by time for AQ and DBCHANGE namespaces. Users have the option of specifying the grouping time interval and the predefined format in which to be notified at the end of those grouping intervals. Users can also specify when to start sending grouping notifications and how many times to send grouping notifications.

Better Diagnosability and Manageability

The following sections describe diagnosability:

New performance views and AWR support

This release adds new performance views for persistent messaging statistics and notification statistics. The Automatic Workload Repository (AWR) has also been enhanced for displaying queues with the most persistent messaging operations, allowing for easier diagnosability of AQ performance problems.

Dictionary View on Subscription Registrations

New dictionary views are provided to simplify subscription management for Oracle Streams Advanced Queuing. DBA_SUBSCR_REGISTRATIONS and USER_SUBSCR_REGISTRATIONS identify registered subscriptions, as well as detail information on the subscriptions. Runtime statistics for notifications are available with the V$SUBSCR_REGISTRATION_STATS view.

Queue Table Level Export and Import

Export import of queues is now fully supported at queue table level granularity. The user only needs to export the queue table. All the queues in the queue table, primary object grants, related objects like views, IOTs, rules are automatically exported.

Transition from Job Queue Processes to Database Scheduler

EMON PL/SQL notifications are executed by background jobs. In this release these jobs are DBMS_SCHEDULER jobs and are no longer conducted by DBMS_JOBS.

The init.ora parameter job_queue_processes does not need to be set for PL/SQL notifications or AQ propagations.

AQ propagation is now likewise handled by DBMS_SCHEDULER jobs rather than DBMS_JOBS. Additionally, propagation takes advantage of the event based scheduling features of DBMS_SCHEDULER for better scalability.

Messaging Gateway Enhancements

The following Messaging Gateway enhancements are introduced:

Enhanced Messaging Gateway Agent in a Real Application Clusters (RAC) Environment

The Oracle Scheduler will be used to start Messaging Gateway agents. Messaging Gateway will leverage the Oracle Scheduler RAC service feature so that a Messaging Gateway agent is associated with a database service. If the instance on which a Messaging Gateway agent is running fails or is shutdown, the Oracle Scheduler will automatically restart the agent on another instance supporting that service.

Multiple Messaging Gateway Agents

Messaging Gateway is enhanced to enable multiple agents per instance and database. With this enhancement, you can now statically partition propagation jobs based on functionality, organizations, or workload and assign them to different MGW agents hosted by different database instances on different machines. This not only enables MGW to scale, but also enables propagation job grouping and isolation, which is important when MGW is used in a complicated application integration environment.

Simplified Messaging Gateway Propagation Job Configuration

An enhanced PL/SQL API consolidates the propagation subscriber and the propagation schedule into a new propagation job. It is now easier to create and schedule a propagation job for the messaging gateway.