Oracle® Streams Advanced Queuing User's Guide and Reference 10g Release 2 (10.2) Part Number B14257-01 |
|
|
View PDF |
This section describes new features of the Oracle Database 10g Release 2 (10.2) and provides pointers to additional information. New features information from previous releases is also retained to help those users migrating to the current release.
The following sections describe the new features in Oracle Streams AQ:
Buffered Messaging
Buffered messaging combines the rich functionality that Oracle Streams AQ has always offered with a much faster queuing implementation. Buffered messaging is faster than persistent messaging, because its messages reside in shared memory. They are usually written to disk only when the total memory consumption of buffered messages approaches the available shared memory limit. Buffered messaging is ideal for applications that do not require the reliability and transaction support of Oracle Streams AQ persistent messaging.
Commit-Time Ordering
Commit-time ordering orders messages by an approximate CSCN calculated for each transaction. It is useful when transactions are interdependent or when browsing the messages in a queue must yield consistent results.
See Also:
"Commit-Time Queues" in Oracle Streams Concepts and Administration
"Creating a Queue Table" for more information on sort order
Notification Enhancements
Asynchronous notification allows clients to receive notifications of messages of interest. Oracle Streams AQ 10g Release 2 (10.2) provides the following notification enhancements:
Payload delivery with notification (RAW queues only)
Reliable notifications
Designated port notifications (OCI only)
Notification registration timeouts
Notification of buffered messages
See Also:
"Asynchronous Notifications"Queue-To-Queue Propagation
Oracle Streams AQ 10g Release 2 (10.2) supports queue-to-queue propagation, giving you finer-grained control when propagating messages to several queues.
In a Real Application Clusters (RAC) environment, this enables transparent failover when propagating messages to a destination RAC system. You no longer need to repoint your database links if the owner instance of the target queue fails on RAC.
See Also:
Advanced Queuing has been integrated into Oracle Streams, and is now called Oracle Streams AQ. It supports all existing functionality and more, including:
New AQ Types
Message_Properties_T_Array
type
Message_Properties_T
type has an additional attribute, transaction_group
.
Oracle JMS now supports JMS version 1.1 specifications.
In earlier versions of JMS, point-to-point and publish/subscribe operations could not be used in the same transaction. JMS version 1.1 includes methods that overcome this restriction, and Oracle JMS supports these new methods.
See Also:
"J2EE Compliance"New JMS types and added functionality to existing types
See Also:
"Oracle Streams AQ Types" and "JMS Types" in PL/SQL Packages and Types ReferenceNew DBMS_AQ
packages
New DBMS_AQADM
packages
A new Purge API allows for purging data in a persistent queue. A limited subset of the Purge API is available for a buffered queue.
See Also:
"Purging a Queue Table"New V$
views for investigating the status of buffered queues:
V$BUFFERED_QUEUES
V$BUFFERED_SUBSCRIBERS
V$BUFFERED_PUBLISHERS
See Also:
"Dynamic Performance (V$) Views" in Oracle Database Reference for more information on these viewsAQ$
Queue_table_name
has been expanded to show buffered messages.
The rules engine has been enhanced for higher performance and workload.
New Streams messaging high level API
You can now enqueue and dequeue multiple messages with a single command.
Propagation from object queues with BFILEs is now supported.
See Also:
"Propagation from Object Queues"New C++ interface to Oracle Streams AQ
OCCI AQ is a set of interfaces in C++ that enable messaging clients to access Oracle Streams AQ for enterprise messaging applications. OCCI AQ makes use of the OCI interface to Oracle Streams AQ and encapsulates the queuing functionality supported by OCI.
See Also:
"Oracle Streams Advanced Queuing" in Oracle C++ Call Interface Programmer's GuideParameter AQ_TM_PROCESSES
is no longer needed in init.ora
.
New Oracle Streams features related to Advanced Queuing include auto capture and apply message handlers.
Oracle Messaging Gateway
In this release Oracle Messaging Gateway has the following new functionality:
Message propagation between Oracle Java Message Service (OJMS) and IBM WebSphere MQ JMS. Propagation is supported for JMS queues and topics.
Message propagation between Oracle Streams AQ and TIBCO TIB/Rendezvous for application integration.
See Also:
PL/SQL Packages and Types Reference, chapters:AQ Types
JMS Types
DBMS_AQ
DBMS_AQADM
DBMS_MGWADM
DBMS_MGWMSG
Deprecated Features
Java AQ API is deprecated in favor of a unified, industry-standard JMS interface. The Java AQ API is still being supported for legacy applications. However, Oracle recommends that you migrate your Java AQ API application to JMS and that new applications use JMS.
Also deprecated in this release are 8.0-style queues. All new functionality and performance improvements are confined to the newer style queues. 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.