Disabilitazione dei vincoli sulla destinazione
I trigger e i vincoli a catena devono essere disabilitati nelle tabelle di destinazione o configurati in modo da ignorare le modifiche apportate da Replicat. I vincoli devono essere disabilitati perché Oracle GoldenGate replica DML risultante da un trigger o da un vincolo a catena. Se lo stesso trigger o vincolo viene attivato nella tabella di destinazione, diventa ridondante a causa della versione replicata e il database restituisce un errore. Si consideri l'esempio seguente, dove le tabelle di origine sono emp_src e salary_src e le tabelle di destinazione sono emp_targ e salary_targ.
-
Viene emessa un'eliminazione per
emp_src. -
Viene applicata un'eliminazione a
salary_src. -
Oracle GoldenGate invia entrambe le eliminazioni alla destinazione.
-
L'eliminazione padre arriva per prima e viene applicata a
emp_targ. -
L'eliminazione padre applica un'eliminazione a catena a
salary_targ. -
L'eliminazione a catena da
salary_srcviene applicata asalary_targ. -
Impossibile individuare la riga perché è già stata eliminata nel passo 5.