How Oracle GoldenGate Veridata Works?

To compare data accurately while transactional and replication operations are taking place, Oracle GoldenGate Veridata uses a two-step process to maintain data accuracy:

  1. Initial step or Row hash step MOOS – Maybe Out-of-Sync

  2. COOS - Confirm Out-of-Sync

Figure 2: How Veridata Works?

Explains the working of Oracle GoldenGate Veridata.

Initial Step or Row Hash Step in Maybe Out of Sync

The steps involved in Maybe Out of Sync (MOOS) are:

After the comparison is initiated, the Oracle GoldenGate Veridata agent retrieves rows from both source and target tables using a specified query.

Oracle GoldenGate Veridata, being a heterogeneous data comparison and repair tool, ensures compatibility by standardizing data types if the source and target databases differ.

Data retrieval involves fetching primary key (PK) column values directly (actual values are fetched), while non-key columns are hashed to minimize network transfer for comparison. This unique hashing process streamlines the comparison process by providing a dependable and efficient means of determining similarities or differences between rows in the source and target databases.

Additionally, it is possible to alter the default hashing option. However, this adjustment may lead to decreased performance and increased network usage, particularly with a higher number of columns. After completing the initial comparison, if Oracle GoldenGate Veridata detects discrepancies in some rows, then it refrains from displaying the comparison results to the user. Instead, it stores these rows in the Maybe Out of Sync (MOOS) queue in memory. This precaution is necessary due to concurrent real-time replication, which may have some replication latency, potentially leading to the out-of-sync rows being in transit. Subsequently, replication will synchronize them again.

Example: Comparing data of the Employee table in both the source and target databases.

Figure 3: Initial step or Row hash step MOOS – Maybe Out-Of-Sync

Initial step or Row hash step MOOS -- Maybe Out-Of-Sync

The Employee table contains a primary key column EMP_ID.

  1. Oracle GoldenGate Veridata retrieves the actual values of EMP_ID and hashes the values of other non-key columns.

  2. The replication process is in progress. If there are any disparities, for example, if there are 10 rows being out of sync, then Oracle GoldenGate Veridata will not immediately confirm them as out of sync.

  3. Given the real-time replication setup and concurrent data replication, it is possible that these 10 out-of-sync rows have yet to be replicated to the target. This might be due to latency.

  4. The out-of-sync rows are stored in the MOOS queue in memory.

Confirm Out of Sync

The steps involved in Confirm Out of Sync (COOS) are:

The verification process, known as confirmation or Confirm Out of Sync (COOS), guarantees precise outcomes by validating the status of rows in a dynamic setting. This process entails making conditional inquiries on either the source or target using the rows obtained from the MOOS queue, with the status being assessed as one of the subsequent possibilities:

Example: Comparing data of the Employee table in both the source and target databases.

After surpassing the latency threshold, the process moves to the second stage known as the COOS step. Here, only the rows that are out of sync are examined, without utilizing hashing. All values from both primary key and non-key columns are retrieved in their original form (actual values). The out-of-sync rows are compared value by value. If the same data inconsistencies persist after this stage, these rows are confirmed as out of sync. You are then presented with details of the out-of-sync rows for further action.

Figure 4: Confirm Out of Sync (COOS)

Confirm Out of Sync (COOS)

Note: The latency threshold is crucial in this context. In the previously mentioned scenario, it was established at 60 seconds, but it is adjustable manually. The Delay Confirm-Out-Of-Sync parameter within the Profile Configuration governs this threshold. Users are better acquainted with their replication environment and the daily latency they encounter. Hence, they can customize this parameter according to their requirements.

Delay Confirm-Out-Of-Sync By (seconds)

Delays the confirmation step by the specified number of seconds to account for replication lag. Delaying the confirmation step reduces the number of false out-of-sync results that occur because an updated source value was not replicated fast enough.

Note: You have the option to bypass the two-step-comparison process altogether, specifically skipping the second step known as COOS. The parameter Perform Confirm Out-Of-Sync Step in the Profile Configuration allows users to decide whether to execute or bypass the second step when comparing data in Oracle GoldenGate Veridata.

Perform Confirm-Out-of-Sync Step

Controls whether or not the confirmation step is performed. By default, it is performed. Clear the check box under Value to skip the confirmation step and only perform the initial (row hash) comparison. You might skip the confirmation step if, for example, activity on the source tables is quiesced or if replication is not continuously updating the target table(s).