Creation of Propagation Process
The propagation of events uses the
dbms_job package and internally makes use of the job queue
processes (Jnnn). A single propagation job propagates all events
that use a particular database link even if the database link is
used by more than one propagation to propagate events to
multiple destination queues.
When a propagation is created, a
dbms_job schedule which has the following properties is
created:
-
The start time is sysdate(), which
says that it is to start immediately.
-
The duration is NULL, which means
infinite. The process keeps running until it is
dropped.
-
The next time is NULL, which means that
propagation restarts as soon as it finishes its current duration.
-
The latency is 3 seconds, which is the wait
time between when a queue becomes empty and the propagation job
is resubmitted.
To create the propagation, any of the
following procedures can be used:
-
dbms_streams_adm.add_table_propagation_rules
-
dbms_streams_adm.add_subset_propagation_rules
-
dbms_streams_adm.add_schema_propagation_rules
-
dbms_streams_adm.add_global_propagation_rules
-
dbms_propagation_adm.create_propagation
Each of the procedures in the
dbms_streams_adm package creates propagation with the
specified name if it does not already exist. It creates either
a positive or negative rule set for the propagation if the
propagation does not have such a rule set. It may also add
Table, Schema, or Global rules to the rule set.