Transactional Queue
When a queue is created using the
set_up_queue procedure of the dbms_streams_adm
package, it creates a transactional queue by default. With
captured events, the distinction of transactional and
non-transactional is not particularly relevant because the Apply
process preserves the original transaction order.
Enqueue and Dequeue
Enqueue consists of inputting or placing
something into a queue. Enqueues can be accomplished in the
following ways:
-
The first method of enqueue is through a
Capture process. In this method, the Capture process enqueues
captured changes in the form of events. Those events contain
Logical Change Records (LCR). These events are referred to as
captured events. This is because the basic origin of the event
is a typically a Capture process. The Capture process is not
user written program or application. It is an Oracle background
process.
-
The second method of enqueuing events is
through the use of a user written application. A user
application typically constructs an event in the form of an LCR
record. The user application will then explicitly enqueue the
LCR records into a source queue. Events placed into the queue in
this way are called user-enqueued events.
The difference between capture events and
user-enqueued events is important because various Streams
processes can be configured in different ways based on the
method used to enqueue the information.
Dequeue consists of consuming or sending
messages or events out of a queue. Events can be dequeued by an
Apply process or a user application.