Reported Out of Sync:
Before SharePlex post replicated data to target table, it verifies the data are synchronized to ensure data integrity. When post detected data goes out of synchronization, it will log the OOS message in event_log, statusdb, and detail about the row in SID_errlog.sql.
A reported out of sync condition occurs when:
- An INSERT is performed on the source data, but the row already exists in the target data when Post attempts to apply the replicated INSERT. If Post attempts to insert a row that already exists in the target table, based on the value of the key, it causes an error. The INSERT fails, and Post returns an out-of-sync error: ora-00001: unique constraint violation
- An UPDATE is performed on the source data, but one of the following occurs: the before image of the source row (the values before the change) in the WHERE clause used by Post does not match the current image of any row in the target (before the posting), or Post cannot locate the target row with a key that matches the source key. The UPDATE fails and returns an out of sync error: ora-01403: no data found.
- When Post constructs its DELETE statement, it includes only the key value in its WHERE clause. If a DELETE is performed on the source data, but Post cannot locate the target row by using the key. The DELETE fails, and post returns an out of sync error: ora-01403: no data found.
Hidden Out of Sync:
- Post only verifies the integrity of the rows that are being changed by current replicated SQL operation.
- It does not verify whether other rows in that table, or other tables, are out of synchronization in the target database.
- Hidden out-of-sync conditions may not show up until much later, when a new change is eventually replicated to that data or a discrepancy is detected in the course of using that data.
Various reasons may cause data to go out-of-sync. Most of the time, it is not cause by the replication. To learn more on how to identify possible cause of out of sync, view KBs:
https://support.quest.com/shareplex/kb/4668
https://support.quest.com/shareplex/kb/134806
Compare utility can be run to verify synchronization and detect hidden out-of-sync conditions.