Coordinamento degli attributi tabella tra origine e destinazione

Seguire questa procedura per modificare un attributo di una tabella di origine quando la funzione DDL di Oracle GoldenGate non è supportata per il database. Le modifiche agli attributi includono l'aggiunta o la modifica di colonne o partizioni. Indica come apportare la stessa modifica alla tabella di destinazione senza incorrere nella latenza di replica.

Nota: per i database Oracle e MySQL, è possibile abilitare la funzione di supporto DDL di Oracle GoldenGate per propagare le modifiche DDL alla destinazione, anziché utilizzare questa procedura.

  1. Nei sistemi di origine e di destinazione, creare una tabella, nota come tabella di marcatura, che può essere utilizzata per generare un indicatore che denota un punto di arresto nel log delle transazioni. Basta creare due semplici colonne: una come chiave primaria e l'altra come colonna normale. Ad esempio:
CREATE TABLE marker
(
id int NOT NULL,
column varchar(25) NOT NULL,

PRIMARY KEY (id)
);
  1. Inserire una riga nella tabella degli indicatori sia nei sistemi di origine che in quelli di destinazione.
INSERT INTO marker VALUES (1, 1);
COMMIT;
  1. Nel sistema di origine, eseguire Admin Client.

  2. Aprire il file dei parametri Extract per la modifica.

    Caution: Do not use the VIEW PARAMS or EDIT PARAMS command to view or edit an existing parameter file that is in a character set other than that of the local operating system (such as one where the CHARSET option was used to specify a different character set). Visualizzare il file dei parametri dall'esterno dell'interfaccia della riga di comando se questo è il caso; in caso contrario, il contenuto potrebbe essere danneggiato.

  3. Aggiungere la tabella degli indicatori al file dei parametri Extract in un'istruzione TABLE.

TABLE marker;
  1. Salvare e chiudere il file dei parametri.

  2. Aggiungere la tabella degli indicatori all'istruzione TABLE della pompa dati, se utilizzata.

  3. Arrestare i processi Extract e Data Pump, quindi riavviarli immediatamente per evitare il ritardo di acquisizione.

STOP EXTRACT *group*
START EXTRACT *group*
  1. Nel sistema di destinazione, eseguire Admin Client.

  2. Aprire il file dei parametri Replicat per la modifica.

    Caution: Do not use the VIEW PARAMS or EDIT PARAMS command to view or edit an existing parameter file that is in a character set other than that of the local operating system (such as one where the CHARSET option was used to specify a different character set). Visualizzare il file dei parametri dall'esterno di Admin Client se questo è il caso; in caso contrario, il contenuto potrebbe essere danneggiato.

  3. Aggiungere la tabella degli indicatori al file dei parametri Replicat in un'istruzione MAP e utilizzare il parametro EVENTACTIONS come mostrato per arrestare Replicat e ignorare le operazioni nella tabella degli indicatori.

MAP marker, TARGET marker, EVENTACTIONS (STOP, IGNORE);
  1. Salvare e chiudere il file dei parametri.

  2. Arrestare e quindi riavviare immediatamente il processo Replicat.

STOP REPLICAT *group*
START REPLICAT *group*
  1. Quando si è pronti a modificare gli attributi della tabella per le tabelle di origine e di destinazione, arrestare tutte le attività utente su di esse.

  2. Nel sistema di origine, eseguire un'operazione UPDATE nella tabella indicatori come unica operazione nella transazione.

UPDATE marker
SET column=2,
WHERE id=1;
COMMIT;
  1. Sul sistema di destinazione, eseguire il comando seguente finché non indica che Replicat viene arrestato come risultato della regola EVENTACTIONS.
STATUS REPLICAT *group*
  1. Eseguire il DDL nelle tabelle di origine e di destinazione, ma non consentire l'attività dell'utente.

  2. Avvia replica.

START REPLICAT *group*
  1. Consente l'attività utente nelle tabelle di origine e di destinazione.