Propagazione delle modifiche dell'evoluzione della tabella dall'origine alla destinazione
Oracle GoldenGate replica le modifiche alla tabella, inclusi gli eventi tabella mancanti. Quando AUTOSCHEMA è abilitato, l'evento tabella mancante viene rilevato durante il mapping della tabella, in particolare durante l'elaborazione del record definizione tabella (TDR) dal file trail.
I passi riportati di seguito spiegano questo flusso di lavoro.
-
Replicat tenta di risolvere i metadati della tabella di destinazione. Se la risoluzione dei metadati non riesce con l'errore
object not found, indica che la tabella di destinazione non esiste nel database di destinazione. -
Se la funzionalità
AUTOSCHEMAè abilitata, l'istruzioneCREATE TABLEper la tabella di destinazione mancante viene generata in base ai metadati di origine nel record TDR.-
Il modello di mapping del tipo di dati predefinito, basato sul tipo di database di destinazione, viene utilizzato durante la selezione dei tipi di dati appropriati per le colonne della tabella di destinazione.
-
L'istruzione
CREATE TABLEviene generata in base alla sintassi SQL del database di destinazione, considerando le preferenze utente, se specificate. È possibile specificare le preferenze indicate di seguito.-
Nome della tabella di destinazione specificato nella clausola
TARGETdello statemenet MAP corrispondente nel file dei parametri replicat. -
Per impostazione predefinita, i nomi delle colonne della tabella di destinazione sono uguali a quelli delle colonne della tabella di origine, tuttavia è possibile selezionare nomi diversi utilizzando
COLMAP. -
È possibile selezionare nomi di tipi di dati personalizzati (disponibili nel database di destinazione) per nomi di tipi di dati di origine specifici (o colonne di origine) utilizzando
TYPEMAP. Adatto nei casi in cui i tipi di dati supportati (e i relativi limiti) possono differire tra i database di origine e quelli di destinazione.
-
-
-
La creazione di nuove tabelle mediante le istruzioni
CREATE TABLEgenerate viene gestita automaticamente dal processo di replica, a condizione che l'operazione soddisfi i criteri di filtro configurati, ad esempio le regoleINCLUDE/EXCLUDE. Se si verifica un problema temporaneo, il sistema tenta di applicare la modifica più volte a seconda delle impostazioni dei nuovi tentativi configurate. Se la modifica non può essere ancora applicata dopo questi tentativi, la replica verrà arrestata e verrà segnalato un errore.
Propagazione dell'evoluzione delle colonne nelle tabelle di destinazione
La colonna mancante nell'evento tabella di destinazione viene rilevata durante il mapping della tabella. In particolare, durante l'elaborazione del record definizione tabella (TDR).
-
Replicat tenta di risolvere i metadati della tabella di destinazione. In questo caso, poiché la tabella di destinazione esiste, la risoluzione dei metadati non riesce, ma viene restituita una struttura di definizione della tabella di destinazione valida.
-
Se
AUTOSCHEMAè abilitato, i metadati nella definizione della tabella di destinazione vengono confrontati con i metadati della tabella di origine nel record TDR in entrata. Consente di rilevare eventuali colonne aggiuntive nei metadati della tabella di origine nel record TDR non disponibili nella definizione della tabella di destinazione, recuperate nel passo precedente.-
Il modello di mapping del tipo di dati predefinito in base al tipo di database di destinazione viene utilizzato durante la scelta dei tipi di dati più adatti per le nuove colonne della tabella di destinazione.
-
L'istruzione
ALTER TABLE ADD COLUMNviene generata in base alla sintassi SQL del database di destinazione.È possibile scegliere nomi di tipi di dati personalizzati (disponibili nel database di destinazione) per nomi di tipi di dati di origine specifici (o colonne di origine). Adatto nei casi in cui i tipi di dati supportati (e i relativi limiti) possono differire tra i database di origine e quelli di destinazione.
-
-
Se vengono identificate colonne aggiuntive di questo tipo, l'istruzione
ALTER TABLE ADD COLUMN, per la tabella di destinazione esistente, viene generata in base ai metadati di origine nel record TDR (in particolare le colonne aggiuntive nel record TDR).
L'esecuzione del file ALTER TABLE DDL generato viene eseguita dall'infrastruttura di replica DDL esistente, solo quando il DDL corrispondente supera i criteri di filetring DDL (criteri DDL INCLUDE/EXCLUDE con opzioni OBJTYPE/OPTYPE/OBJNAME). Poiché l'infrastruttura di replica DDL viene utilizzata anche per AUTOSCHEMA, viene utilizzata anche la logica dei nuovi tentativi sui codici di errore non fatali. La logica dei nuovi tentativi include anche un numero configurabile di nuovi tentativi e un ritardo tra i nuovi tentativi. Se l'esecuzione DDL generata non riesce anche dopo i nuovi tentativi, Replicat viene interrotto.