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.
- 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)
);
- Insira uma linha na tabela de marcadores nos sistemas de origem e de destino.
INSERT INTO marker VALUES (1, 1);
COMMIT;
-
No sistema de origem, execute o Admin Client.
-
Abra o arquivo de parâmetros Extract para edição.
Cuidado: Não use o comando
VIEW PARAMSouEDIT PARAMSpara 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çãoCHARSETfoi 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. -
Adicione a tabela de marcadores ao arquivo de parâmetros Extract em uma instrução
TABLE.
TABLE marker;
-
Salve e feche o arquivo de parâmetros.
-
Adicione a tabela de marcadores à instrução
TABLEdo data pump, se houver uma em uso. -
Interrompa os processos Extract e data pump e reinicie-os imediatamente para evitar o atraso da captura.
STOP EXTRACT *group*
START EXTRACT *group*
-
No sistema de destino, execute o Admin Client.
-
Abra o arquivo de parâmetros do Replicat para edição.
Cuidado: Não use o comando
VIEW PARAMSouEDIT PARAMSpara 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çãoCHARSETfoi 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. -
Adicione a tabela de marcadores ao arquivo de parâmetros Replicat em uma instrução
MAPe use o parâmetroEVENTACTIONSconforme mostrado para interromper o Replicat e ignorar as operações na tabela de marcadores.
MAP marker, TARGET marker, EVENTACTIONS (STOP, IGNORE);
-
Salve e feche o arquivo de parâmetros.
-
Interrompe e, em seguida, reinicia imediatamente o processo Replicat.
STOP REPLICAT *group*
START REPLICAT *group*
-
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.
-
No sistema de origem, execute uma operação
UPDATEna tabela de marcadores como a única operação na transação.
UPDATE marker
SET column=2,
WHERE id=1;
COMMIT;
- No sistema de destino, execute o comando a seguir até mostrar que o Replicat foi interrompido como resultado da regra
EVENTACTIONS.
STATUS REPLICAT *group*
-
Execute a DDL nas tabelas de origem e de destino, mas ainda não permita a atividade do usuário.
-
Iniciar Replicação.
START REPLICAT *group*
- Permite a atividade do usuário nas tabelas de origem e de destino.