Oracle GoldenGate Microservices: replicação unidirecional Oracle → Oracle
OracleNível: AvançadoDuração: 3–5 horasReplica continuamente (com lag de segundos) um schema de PDB para outro banco de dados usando GoldenGate 21c ou 23ai/26ai Microservices. Ao final, Integrated Extract e Distribution Path rodam na origem e um Parallel Replicat roda no destino; o schema de destino é populado por uma carga inicial a partir de um SCN consistente e o lag de ponta a ponta é medido com heartbeat. A diferença em relação ao Data Guard: é uma replicação em nível de linha (lógica), não uma cópia física; o destino fica aberto e gravável e pode estar em outra versão/plataforma. Origem e destino podem ser single instance ou RAC; para a operação diária e falhas, use o guia de operação do GoldenGate.
Topologia: Servidor do banco de origem (deployment OGG de origem) + servidor do banco de destino (deployment OGG de destino); no RAC, GoldenGate no node 1 (ou como recurso de cluster com XAG)
Antes de começar
- Há licença do GoldenGate e acesso ao My Oracle Support/eDelivery. Nos dois servidores, …/… (software Microservices para Oracle Database) está disponível; a certificação de versões (versão do OGG ↔ versão do banco ↔ sistema operacional) foi verificada na matriz de certificação do MOS.
- Os servidores rodam …Oracle Linux / RHEL 7.9…Oracle Linux / RHEL ……; o usuário oracle e o grupo oinstall existem (servidor de banco de dados) e o unzip está instalado (se não estiver, como root: … -y install unzip). Há pelo menos 4 GB de RAM livre para o GoldenGate, ~2 GB para o software e espaço em disco para os arquivos de trail dimensionado pela geração de redo (redo gerado por dia × dias de retenção).
- O banco de origem é um CDB em modo ARCHIVELOG (se não for, este guia o ativa); os archived logs não podem ser apagados antes de o Extract processá-los (política de deleção do RMAN). Os PDBs de origem e destino estão abertos e seus serviços estão registrados no listener.
- As tabelas do schema … a replicar têm primary key (ou uma unique key não nula). Em tabelas sem chave, todas as colunas são tratadas como chave; os updates ficam mais lentos e surge o risco de casar a linha errada.
- Os tipos de dados/objetos do schema que o GoldenGate não suporta ou que exigem tratamento especial foram analisados (DBA_GOLDENGATE_SUPPORT_MODE).
- A porta …/tcp (Receiver Server) está aberta da origem para o destino; para administração, …–…/tcp está aberto para a rede de administração nos dois servidores. Os servidores resolvem um ao outro pelo nome…, os nomes SCAN (…………, …………) resolvem no DNS…; os relógios estão sincronizados por NTP.
- Na origem não deve haver transactions abertas de longa duração durante o registro do Integrated Extract e a carga inicial; foi planejada uma janela tranquila para a carga inicial.
- No lado RAC o Clusterware está saudável e o srvctl funciona com o usuário oracle; o software e o deployment do GoldenGate serão instalados em um único node (…………, …………). Se for necessária a assunção automática na perda de um node, foi planejado XAG + um diretório compartilhado (ACFS) (veja as notas).
Fases do guia
- Preparação do banco de origem — Verificar o estado do banco de origem · Ativar o modo ARCHIVELOG (se necessário) · Configurações do banco para o GoldenGate (origem) · Criar o usuário de capture do GoldenGate (origem) · Criar o serviço do GoldenGate (RAC de origem) · Definir o diretório do Data Pump (PDB de origem)
- Preparação do banco de destino — Configurações do banco para o GoldenGate (destino) · Criar o usuário ggadmin (PDB de destino) · Criar o serviço do GoldenGate (RAC de destino) · Definir o diretório do Data Pump (PDB de destino)
- Instalação do software GoldenGate (os dois servidores) — Criar os diretórios · Descompactar a mídia de instalação · Preparar o oggcore.rsp a partir do template · Instalar o software GoldenGate (silent) · Definir a variável de ambiente OGG_HOME
- Service Manager e deployments (oggca) — Gravar o response file do oggca (origem) · Criar o deployment (oggca, origem) · Registrar o Service Manager como serviço systemd (origem) · Gravar o response file do oggca (destino) · Criar o deployment (oggca, destino) · Registrar o Service Manager como serviço systemd (destino) …
- Origem: credential, trandata, heartbeat, Extract, Distribution Path — Preparar o credential store e a conexão ao banco (origem) · Ativar o supplemental logging no nível de schema · Criar a tabela de heartbeat (origem) · Registrar e adicionar o Integrated Extract · Gravar o arquivo de parâmetros do Extract · Iniciar o Extract …
- Destino: credential, checkpoint, Parallel Replicat — Preparar o credential store e a conexão ao banco (destino) · Criar as tabelas de heartbeat e de checkpoint (destino) · Adicionar o Parallel Replicat · Gravar o arquivo de parâmetros do Replicat
- Carga inicial e start do Replicat — Verificar transactions abertas (origem) · Obter o SCN da carga inicial e exportar (expdp) · Copiar os arquivos de dump para o destino · Importar no destino (impdp) · Iniciar o Replicat após o SCN · Iniciar o Replicat
- Verificação e monitoramento — Verificar o estado de todos os processos (origem) · Verificar o estado de todos os processos (destino) · Teste de ponta a ponta: inserir linhas (origem) · Teste de ponta a ponta: verificar as linhas e o lag (destino) · Monitoramento e manutenção