Oracle7 Server Distributed Systems Volume II: Replicated Data

Contents Index Home Previous Next

Applying Outstanding Changes

Whenever you alter a replicated object group, the DBMS_REPCAT.DO_DEFERRED_REPCAT_ADMIN procedure must run at each master site in order for the changes applied at the master definition site to be visible everywhere. Usually this procedure is periodically invoked at each master site by a background process and no manual intervention is required.

Whenever you add a new master site to your replicated environment, a job is automatically inserted into the job queue. This job periodically executes the procedure DO_DEFERRED_REPCAT_ADMIN. Whenever you alter a replicated object group, Oracle attempts to start this job immediately in order to apply the replicated changes at each master site.

In the following example, the local outstanding deferred administrative procedures for the ACCT replicated object group are executed (with the assistance of job queues) for all master sites. Had ALL_SITES been set to the default value, FALSE, the deferred administrative procedures would have been executed at the current master site only.

DBMS_REPCAT.DO_DEFERRED_REPCAT_ADMIN(	gname	=>	'acct',
	all_sites	=>	true);

Note: DO_DEFERRED_REPCAT_ADMIN executes only those administrative requests submitted by the connected user that called DO_DEFERRED_REPCAT_ADMIN. Requests submitted by other users are ignored.

Assuming that Oracle does not encounter any errors, DO_DEFERRED_REPCAT_ADMIN will be run whenever a background process is available to execute the job. The initialization parameter JOB_QUEUE_INTERVAL determines how often the background process wakes up.

Attention: If the deferred changes involve generating replication support as described [*], it will be necessary to invoke DO_DEFERRED_REPCAT_ADMIN twice to insure that both phases 1 and 2 are executed due to object dependencies.

You can experience a delay if you do not have enough background processes available to execute the outstanding jobs. For more information on scheduling jobs, see Chapter 10.

If the initialization parameter JOB_QUEUE_PROCESSES is set to zero at a master site, you must manually connect to that site and invoke DO_DEFERRED_REPCAT_ADMIN to execute asynchronous requests at that site. Because this procedure may use dynamic SQL to perform DDL, you must never invoke it as a remote procedure call.

Additional Information: The parameters for the DO_DEFERRED_REPCAT_ADMIN procedure are described in Table 12 - 115, and the exceptions are listed in Table 12 - 116.


Contents Index Home Previous Next