Splitting Large Tables Into Row Ranges Across Process Groups
You can use the @RANGE
function to divide the rows of any table across two or more Oracle GoldenGate processes. It can be used to increase the throughput of large and heavily accessed tables and also can be used to divide data into sets for distribution to different destinations. Specify each range in a FILTER
clause in a TABLE
or MAP
statement.
@RANGE
is safe and scalable. It preserves data integrity by guaranteeing that the same row will always be processed by the same process group.
It might be more efficient to use the primary Extract or a data pump to calculate the ranges than to use Replicat. To calculate ranges, Replicat must filter through the entire trail to find data that meets the range specification. However, your business case should determine where this filtering is performed.
Figure 9-2 Dividing rows of a table between two Extract groups

Description of "Figure 9-2 Dividing rows of a table between two Extract groups"
Figure 9-3 Dividing rows of a table between two Replicat groups

Description of "Figure 9-3 Dividing rows of a table between two Replicat groups"