Utilizzo delle serie di regole
La replica DDL è supportata in CDC Replication Engine for Oracle databases e in CDC Replication Engine for Db2® Database per le tabelle specificate mediante la selezione basata su regole. Ciò si ottiene attraverso la creazione di serie di regole all'interno di una sottoscrizione, che vengono quindi utilizzate per determinare le tabelle che avranno le operazioni DDL replicate. Per le serie di regole corrispondenti alle tabelle, sia i dati all'interno delle tabelle che la struttura delle tabelle verranno replicati man mano che cambiano
Quando si avvia la replica per una sottoscrizione, le serie di regole della richiesta vengono utilizzate per determinare quali tabelle saranno nell'ambito. La replica per tutte le tabelle nella sottoscrizione che soddisfano i criteri delle regole inizierà con la tabella di destinazione che viene eliminata (se esiste) e creata. Questo è chiamato aggiornamento strutturale. Questo è seguito da un normale aggiornamento dei dati. Il mirroring delle modifiche ai dati e delle modifiche strutturali inizierà una volta completato l'aggiornamento.
Gli insiemi di regole sono definiti in base alla sottoscrizione. Ciò significa che sono definiti e appartengono esclusivamente a una sottoscrizione selezionata. È possibile definire più serie di regole all'interno di ciascuna sottoscrizione.
Quando si replicano le operazioni DDL utilizzando CDC Replication Engine for Oracle databases, le sottoscrizioni possono contenere sia le associazioni basate sulla regola per la replica DDL che le associazioni standard CDC Replication (denominate Direct Mappings) per la replica solo DML. Tuttavia, quando si replicano le operazioni DDL utilizzando il CDC Replication Engine for Db2 Database, le sottoscrizioni non possono contenere sia le associazioni basate sulle regole che le associazioni dirette; ogni sottoscrizione può contenere solo un tipo di associazioni.
La vista Associazioni tabella mostrerà una visualizzazione separata per ciascun tipo di associazione. Proprio come le sottoscrizioni che contengono associazioni dirette, le sottoscrizioni che contengono associazioni basate su regole (o combinazioni di associazioni dirette e associazioni basate su regole) possono essere copiate, promosse, esportate e importate.
Ogni serie di regole identifica un pool di tabelle dall'interno di un singolo schema; le tabelle vengono selezionate per nome esatto o tramite un pattern. Le singole tabelle possono essere scelte per essere incluse o escluse dalla replica. I modelli possono essere definiti per includere o escludere le tabelle che corrispondono ai criteri.
Un semplice esempio di identificazione basata su pattern per una serie di regole è il seguente:
- Tabelle da includere: A*, B*
- Tabelle da escludere: *C
Il risultato restituito è che tutte le tabelle i cui nomi iniziano con la lettera A o con la lettera B, i cui nomi non terminano con la lettera C nello schema selezionato, rientrano nell'ambito della replica.
Il processo di valutazione viene eseguito su ciascuna serie di regole in modo indipendente e in nessun ordine particolare (non esiste alcun ordine di precedenza per le serie di regole). Man mano che ogni serie di regole viene valutata, le tabelle corrispondenti ai criteri vengono aggiunte a un pool. Man mano che viene consultata ogni serie di regole, il pool viene ampliato dalle tabelle che corrispondono ai relativi criteri. Se sono presenti più serie di regole, una tabella deve corrispondere solo a una singola regola da includere nel pool; una tabella non deve corrispondere a tutte le regole da includere. Le tabelle non verranno rimosse dal lotto una volta aggiunte e le tabelle non verranno aggiunte più volte.
Quando si definisce una serie di regole, è necessario considerare i seguenti problemi:
- Comprendere appieno la logica quando si creano i modelli e gli elenchi di tabella. Si dovrebbe fare in modo che le condizioni stabilite nelle varie regole non siano contraddittorie.
- È necessario considerare non solo le tabelle attualmente esistenti che corrisponderanno alle regole, ma anche le tabelle che la serie di regole corrisponderà in futuro.
- È inoltre necessario considerare le regole definite per altre sottoscrizioni replicate sullo stesso database di destinazione e verificare che non vi sia alcuna sovrapposizione. Una tabella destinata alla replica DDL non può essere coinvolta in nessun' altra associazione di tabella Replica CDC , sia basata su associazione diretta che basata su regole.
- Quando si creano i modelli per le serie di regole, tenere presente che i modelli sono sensibili al maiuscolo / minuscolo.
- Tutte le azioni di replica DDL per le tabelle nella Console di gestione si basano sul nome della tabella, non sull'ID origine
È possibile creare o modificare serie di regole solo quando la replica non è attiva.
Se si desidera disporre l'ordine in cui le tabelle verranno aggiornate, è possibile impostare l'ordine di aggiornamento e spostare le tabelle che sono nell'ambito per la replica in gruppi. L'ordine di aggiornamento, nella sequenza scelta, verrà eseguito prima dell'inizio del mirroring.
È possibile impostare il punto di cattura per tabelle incluse in una serie di regole. Se le tabelle sono contrassegnate come Mirror / Active, CDC Replication presupporrà che la tabella di destinazione sia sincronizzata con la tabella di origine nel momento in cui il punto di cattura è contrassegnato, quindi non è necessario eseguire un aggiornamento.
È possibile visualizzare il valore delle regole prima di iniziare la replica visualizzando l'anteprima delle tabelle che saranno nell'ambito della replica. Console di gestione visualizzerà un elenco di tabelle che soddisfano i criteri della serie di regole al momento corrente. Vale a dire, ciò che si trova effettivamente nel database nel momento in cui si verifica l'anteprima; le modifiche nel database potrebbero comportare che l'elenco delle tabelle in ambito sia diverso nel momento in cui la replica viene effettivamente avviata rispetto a quando è stata visualizzata l'anteprima.
Tenere presente le seguenti limitazioni per le sottoscrizioni che hanno serie di regole definite:
- Non è possibile disattivare manualmente le tabelle in un'associazione basata su regole.
- Un'associazione tabella diretta ha la precedenza su un'associazione basata su regole per tale tabella. Le tabelle in un'associazione diretta sono escluse dalla replica DDL.
- La replica DDL non è disponibile per le tabelle con associazioni dirette.
- La replica di tabelle con partizioni di intervallo è supportata sia per associazioni di base di regole che per associazioni dirette che iniziano con IBM® Data Replication Versione 11.4.0.0-5033.