When using compare/repair with where clause to repair target table, the target table remains out of sync as the target table contains more rows than source tables.
Target table does not have PK or UK, and compare/repair is run with conditional clause.
When compare/repair runs with conditional clause, the conditional clause will limit the qualified rows for repair. As the result, compare/repair may insert into target table rows that already exist in the table. When table has UK or PK constraint, compare/repair will return unique constraint violation. However, when table does not have UK or PK constraint, the insertion will be successful. At the end target table will still be out of sync and have more rows than source table.