The following errors are observed in the compare client log on target (sp_declt log) when repair errors out:
declt 2016-09-15 17:59:09.063055 9260 1796302688 Oracle Error 1400: ORA-01400: cannot insert NULL into ("OWNER"."TABLE_NAME"."COLUMN_NAME")
declt 2016-09-15 17:59:09.063055 9260 1796302688
declt 2016-09-15 17:59:09.102346 9260 1796302688 Error ORA-1400 calling OCIStmtExecute (de_repair_insert,L2346)
declt 2016-09-15 17:59:09.102379 9260 1796302688 No further repairs will be applied
declt 2016-09-15 17:59:09.102403 9260 1796302688 Error 1 calling de_repair_insert in de_compare_insert_server_rows (224)
declt 2016-09-15 17:59:09.102436 9260 1796302688 Continuing to process so all the out-of-sync rows are reported
declt 2016-09-15 17:59:09.181752 9260 1796302688 Error -1 calling de_compare_client (main,L2578)
declt 2016-09-15 17:59:09.181752 9260 1796302688 Exiting
When the repair tries to apply the corrective SQL to fix the out of sync row on target, it encounters ORA-1400 as the target column has a NOT NULL constraint defined whereas on source it is not. To fix the error, make sure that the source and target have the identical definition for this constraint (by allowing target column to have nullable value) and then run another repair. If intending to enforce NOT NULL constraint on both source and target, you can also make the source column NOT NULL but bear in mind that this will only apply to the rows that are added henceforth so repair will still run into issues with those rows on source that have null value for our problem column.
© ALL RIGHTS RESERVED. Terms of Use Privacy Cookie Preference Center