Parallel Replication Propagation

Oracle provides replication mechanisms allowing you to maintain copies of database objects in multiple databases. Changes are propagated among these databases over database links. The SNP (snapshot) background processes perform the replication process. For large volumes of replicated data, parallel propagation can be used to enhance throughput.

With serial replication, Oracle propagates replicated transactions one at a time in the same order in which they are committed in the source database. With parallel propagation, Oracle enlists multiple parallel slave processes to propagate replicated transactions using multiple parallel streams. Oracle orders the dependent transactions properly based on the System Change Number (SCN). During parallel propagation, you can see multiple connections to the destination database.

You enable parallel replication propagation at the database link level. A database link is created for a particular destination database. When you enable parallel propagation for a database link, Oracle uses multiple parallel slave processes to replicate to the corresponding destination. If you’re using Replication Manager, edit the property sheet for the link, enable the “Parallel Propagation” setting, and then specify the desired degree of parallelism in the “Processes” field.

To enable parallel replication propagation from the SQL*Plus command line, you need to use the Oracle built-in package DBMS_DEFER_SYS. Execute the DBMS_DEFER_SYS.SCHEDULE_PUSH procedure for the destination database link, and pass the desired degree of parallelism as the value for the parallelism argument. The following shows an example of setting the degree of parallelism for replication propagation using the DBMS_DEFER_SYS.SCHEDULE_PUSH procedure:

SQL> EXECUTE DBMS_DEFER_SYS.SCHEDULE_PUSH (-
> DESTINATION => 'finprod.world', -
> INTERVAL => 'SYSDATE+1/24', -
> NEXT_DATE => 'SYSDATE+1/24', -
> PARALLELISM => 6);

This example sets the degree of parallelism to 6 for propagating to the “finprod.world” destination database. It also specifies the time when the first propagation will start (NEXT_DATE) and the frequency of propagation (INTERVAL). For a detailed discussion of replication, refer to Oracle Distributed Systems by Charles Dye (O’Reilly & Associates, 1999).

Get Oracle Parallel Processing now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.