PL/SQL Packages and Types Reference 10g Release 1 (10.1) Part Number B10802-01 |
|
|
View PDF |
The DBMS_PROPAGATION_ADM
package, one of a set of Streams packages, provides administrative interfaces for configuring a propagation from a source queue to a destination queue.
See Also:
Oracle Streams Concepts and Administration and Oracle Streams Replication Administrator's Guide for more information about this package and propagations |
This chapter contains the following topic:
This procedure adds, alters, or removes a rule set for a propagation.
See Also:
Oracle Streams Concepts and Administration and Chapter 82, "DBMS_RULE_ADM" for more information about rules and rule sets |
DBMS_PROPAGATION_ADM.ALTER_PROPAGATION( propagation_name IN VARCHAR2, rule_set_name IN VARCHAR2 DEFAULT NULL, remove_rule_set IN BOOLEAN DEFAULT false, negative_rule_set_name IN VARCHAR2 DEFAULT NULL, remove_negative_rule_set IN BOOLEAN DEFAULT false);
This procedure creates a propagation and specifies the source queue, destination queue, and any rule set for the propagation. A propagation propagates events in a local source queue to a destination queue. The destination queue may or may not be in the same database as the source queue.
This procedure also starts propagation and establishes a default schedule for its propagation job. The default schedule has the following properties:
SYSDATE()
.NULL
, which means infinite.NULL
, which means that propagation restarts as soon as it finishes the current duration.DBMS_PROPAGATION_ADM.CREATE_PROPAGATION( propagation_name IN VARCHAR2, source_queue IN VARCHAR2, destination_queue IN VARCHAR2, destination_dblink IN VARCHAR2 DEFAULT NULL, rule_set_name IN VARCHAR2 DEFAULT NULL, negative_rule_set_name IN VARCHAR2 DEFAULT NULL);
If no propagation job exists for the database link specified when this procedure is run, then a propagation job is created for use by the propagation. If a propagation job is created, then the user who runs this procedure owns the propagation job. If a propagation job already exists for the specified database link, then the existing propagation job is used.
You can administer a propagation job using the following procedures in the DBMS_AQADM
package:
ALTER_PROPAGATION_SCHEDULE
procedure.DISABLE_PROPAGATION_SCHEDULE
procedure and specify the source queue for the queue_name
parameter and the database link for the destination
parameter.ENABLE_PROPAGATION_SCHEDULE
procedure and specify the source queue for the queue_name
parameter and the database link for the destination
parameter. Restarting propagation may be necessary if a propagation job is disabled automatically due to errors.These types of changes affect all propagations that use the propagation job.
The user who owns the source queue is the user who propagates events. This user must have the necessary privileges to propagate events. These privileges include the following:
If the propagation propagates events to a destination queue in a remote database, then the owner of the source queue must be able to use the propagation's database link and the user to which the database link connects at the remote database must have enqueue privilege on the destination queue.
This procedure drops a propagation and deletes all captured and user-enqueued events for the destination queue in the source queue. This procedure also removes the schedule for propagation from the source queue to the destination queue.
DBMS_PROPAGATION_ADM.DROP_PROPAGATION( propagation_name IN VARCHAR2, drop_unused_rule_sets IN BOOLEAN DEFAULT false);
When you use this procedure to drop a propagation, information about rules created for the propagation using the DBMS_STREAMS_ADM
package is removed from the data dictionary views for Streams rules. Information about such a rule is removed even if the rule is not in either rule set for the propagation.
See Also:
Oracle Streams Concepts and Administration for more information about Streams data dictionary views |
The following are the data dictionary views for Streams rules:
ALL_STREAMS_GLOBAL_RULES
DBA_STREAMS_GLOBAL_RULES
ALL_STREAMS_MESSAGE_RULES
DBA_STREAMS_MESSAGE_RULES
ALL_STREAMS_SCHEMA_RULES
DBA_STREAMS_SCHEMA_RULES
ALL_STREAMS_TABLE_RULES
DBA_STREAMS_TABLE_RULES