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.

  1. 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.

  2. Se la funzionalità AUTOSCHEMA è abilitata, l'istruzione CREATE TABLE per la tabella di destinazione mancante viene generata in base ai metadati di origine nel record TDR.

    1. 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.

    2. L'istruzione CREATE TABLE viene generata in base alla sintassi SQL del database di destinazione, considerando le preferenze utente, se specificate. È possibile specificare le preferenze indicate di seguito.

      1. Nome della tabella di destinazione specificato nella clausola TARGET dello statemenet MAP corrispondente nel file dei parametri replicat.

      2. 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.

      3. È 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.

  3. La creazione di nuove tabelle mediante le istruzioni CREATE TABLE generate viene gestita automaticamente dal processo di replica, a condizione che l'operazione soddisfi i criteri di filtro configurati, ad esempio le regole INCLUDE/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).

  1. 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.

  2. 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.

    1. 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.

    2. L'istruzione ALTER TABLE ADD COLUMN viene 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.

  3. 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.