Coordenando Atributos de Tabela entre Origem e Destino

Siga este procedimento para alterar um atributo de uma tabela de origem quando o recurso DDL do Oracle GoldenGate não for suportado para o seu banco de dados. As alterações de atributo incluem adicionar ou alterar colunas ou partições. Ele orienta você a fazer a mesma alteração na tabela de destino sem incorrer em latência de replicação.

Observação: Para bancos de dados Oracle e MySQL, você pode ativar o recurso de suporte a DDL do Oracle GoldenGate para propagar as alterações de DDL para o destino, em vez de usar esse procedimento.

  1. Nos sistemas de origem e destino, crie uma tabela, a ser conhecida como tabela de marcadores, que pode ser usada com a finalidade de gerar um marcador que denota um ponto de interrupção no log de transações. Basta criar duas colunas simples: uma como chave primária e a outra como coluna regular. Por exemplo:
CREATE TABLE marker
(
id int NOT NULL,
column varchar(25) NOT NULL,

PRIMARY KEY (id)
);
  1. Insira uma linha na tabela de marcadores nos sistemas de origem e de destino.
INSERT INTO marker VALUES (1, 1);
COMMIT;
  1. No sistema de origem, execute o Admin Client.

  2. Abra o arquivo de parâmetros Extract para edição.

    Cuidado: Não use o comando VIEW PARAMS ou EDIT PARAMS para exibir ou editar um arquivo de parâmetro existente que esteja em um conjunto de caracteres diferente do do sistema operacional local (como aquele em que a opção CHARSET foi usada para especificar um conjunto de caracteres diferente). Visualize o arquivo de parâmetros de fora da interface de linha de comando se este for o caso; caso contrário, o conteúdo pode ficar corrompido.

  3. Adicione a tabela de marcadores ao arquivo de parâmetros Extract em uma instrução TABLE.

TABLE marker;
  1. Salve e feche o arquivo de parâmetros.

  2. Adicione a tabela de marcadores à instrução TABLE do data pump, se houver uma em uso.

  3. Interrompa os processos Extract e data pump e reinicie-os imediatamente para evitar o atraso da captura.

STOP EXTRACT *group*
START EXTRACT *group*
  1. No sistema de destino, execute o Admin Client.

  2. Abra o arquivo de parâmetros do Replicat para edição.

    Cuidado: Não use o comando VIEW PARAMS ou EDIT PARAMS para exibir ou editar um arquivo de parâmetro existente que esteja em um conjunto de caracteres diferente do do sistema operacional local (como aquele em que a opção CHARSET foi usada para especificar um conjunto de caracteres diferente). Visualize o arquivo de parâmetros de fora do Admin Client se este for o caso; caso contrário, o conteúdo pode ficar corrompido.

  3. Adicione a tabela de marcadores ao arquivo de parâmetros Replicat em uma instrução MAP e use o parâmetro EVENTACTIONS conforme mostrado para interromper o Replicat e ignorar as operações na tabela de marcadores.

MAP marker, TARGET marker, EVENTACTIONS (STOP, IGNORE);
  1. Salve e feche o arquivo de parâmetros.

  2. Interrompe e, em seguida, reinicia imediatamente o processo Replicat.

STOP REPLICAT *group*
START REPLICAT *group*
  1. Quando estiver pronto para alterar os atributos da tabela para as tabelas de origem e de destino, interrompa todas as atividades do usuário nelas.

  2. No sistema de origem, execute uma operação UPDATE na tabela de marcadores como a única operação na transação.

UPDATE marker
SET column=2,
WHERE id=1;
COMMIT;
  1. No sistema de destino, execute o comando a seguir até mostrar que o Replicat foi interrompido como resultado da regra EVENTACTIONS.
STATUS REPLICAT *group*
  1. Execute a DDL nas tabelas de origem e de destino, mas ainda não permita a atividade do usuário.

  2. Iniciar Replicação.

START REPLICAT *group*
  1. Permite a atividade do usuário nas tabelas de origem e de destino.