Sobre Componentes de Replicação de Dados no Oracle GoldenGate
Tipos de Configurações de Replicação de Dados
O Oracle GoldenGate pode ser configurado para as seguintes finalidades:
-
Uma extração estática de registros de dados de um banco de dados e o carregamento desses registros para outro banco de dados ou origem de dados.
-
Extração e replicação contínuas de operações DML (Data Manipulation Language) transacionais e alterações DDL (Data Definition Language) (para bancos de dados suportados) para manter os dados de origem e destino consistentes.
-
Extração de dados de origens e replicação de banco de dados suportadas para Big Data e destinos de arquivo usando o Oracle GoldenGate Distributed Applications and Analytics.
Processos do Oracle GoldenGate
Extrair
O processo Extract está configurado para ser executado no ponto final de origem do qual as transações de banco de dados submetidas a commit precisam ser capturadas. Esse processo é o mecanismo de extração ou captura de dados do Oracle GoldenGate.
Você pode configurar o processo Extract para capturar dados dos seguintes tipos de origens de dados:
-
Tabelas de origem: Este tipo de origem é usado para carregamentos iniciais.
-
Logs de recuperação de banco de dados ou logs de transação: Durante a captura dos logs, o método real varia dependendo do tipo de banco de dados. Um exemplo desse tipo de origem são os redo logs do Oracle AI Database.
Consulte Sobre a Extração para saber mais.
Replicat
O processo Replicat aplica as atualizações dos arquivos de trilha ao banco de dados de destino. Ele lê o arquivo de trilha no banco de dados de destino, reconstrói as operações DML ou DDL e as aplica ao banco de dados de destino.
O processo Replicat usa SQL dinâmico para compilar uma instrução SQL uma vez e, em seguida, a executa muitas vezes com diferentes variáveis de vínculo. Você pode configurar o processo Replicat para que ele espere um período específico antes de aplicar as operações replicadas ao banco de dados de destino.
Por exemplo, um atraso pode ser desejável para impedir a propagação de SQL incorreta, para controlar a chegada de dados em diferentes fusos horários ou para permitir que outros eventos planejados ocorram.
Para os dois casos de uso comuns do Oracle GoldenGate, o Replicat funciona da seguinte forma:
-
Cargas Iniciais: Quando você configura o Oracle GoldenGate para cargas iniciais, o processo Replicat aplica uma cópia de dados estática a objetos de destino ou roteia os dados para um utilitário de carga em massa de alta velocidade.
-
Alterar Sincronização: Quando você configura o Oracle GoldenGate para manter o banco de dados de destino sincronizado com o banco de dados de origem, o processo Replicat aplica as operações de origem aos objetos de destino usando uma interface de banco de dados nativa ou ODBC, dependendo do tipo de banco de dados.
Você pode configurar vários processos Replicat com um ou mais processos Extract em paralelo para aumentar o throughput. Para preservar a integridade dos dados, cada conjunto de processos trata um conjunto diferente de objetos. Para diferenciar os processos Replicat, você pode criar grupos Replicat com um nome de grupo exclusivo.
Consulte Sobre o Replicat para saber mais sobre diferentes tipos de modos Replicats.
Caminhos de Distribuição para Transporte de Dados
Um caminho de distribuição ou DISTPATH define o caminho do arquivo de trilha entre pontos finais. O caminho de distribuição é configurado a partir do Serviço de Distribuição. Consulte Serviço de Distribuição para saber mais.
Um caminho de distribuição iniciado pelo destino, que também é chamado de caminho do receptor ou RECVPATH, define o caminho da trilha, do Serviço do Receptor ao Serviço de Distribuição em ambientes com pontos finais de destino seguros. Consulte Adicionar Caminhos de Serviço do Receptor.
Objetos do Oracle GoldenGate
Os objetos do Oracle GoldenGate nunca devem ser modificados diretamente. A modificação de arquivos de parâmetro, trilhas, arquivos de checkpoint e tabelas só deve ser modificada por meio de chamadas de API REST usando AdminClient e interface Web.
Arquivos de Trilha
Uma trilha é uma série de arquivos em disco nos quais o Oracle GoldenGate armazena as alterações capturadas para suportar a extração e a replicação contínuas das alterações do banco de dados.
Pode haver uma trilha no sistema de origem, no sistema intermediário, no sistema de destino ou em qualquer combinação desses sistemas, dependendo de como você configura o Oracle GoldenGate. No sistema local, é conhecida como trilha Extract (ou trilha local). Em um sistema remoto, é conhecido como uma trilha remota. Ao usar uma trilha para armazenamento, o Oracle GoldenGate dá suporte à precisão dos dados e à tolerância a falhas. O uso de uma trilha também permite que atividades de extração e replicação ocorram independentemente umas das outras. Com esses processos separados, você tem mais opções de como os dados são processados e fornecidos. Por exemplo, em vez de extrair e replicar alterações continuamente, você pode extrair alterações continuamente e armazená-las na trilha de replicação para o destino posteriormente, sempre que o aplicativo de destino precisar delas.
Além disso, as trilhas permitem que o Oracle AI Database opere em um ambiente heterogêneo. Os dados são armazenados em um arquivo de trilha em um formato consistente, para que possam ser lidos pelo processo Replicat para todos os bancos de dados suportados.
Processos que Gravam no Arquivo de Trilha
O Extract do Oracle GoldenGate grava no arquivo de trilha. Todas as trilhas locais devem ter nomes de caminho completo diferentes, embora você possa usar os mesmos nomes de trilha em caminhos diferentes.
No Oracle GoldenGate MA, os caminhos de distribuição e os caminhos de receptor são usados para distribuir trilhas remotas. O Serviço de Distribuição e o Serviço de Recebimento são usados para configurar o caminho de distribuição e o caminho do receptor, respectivamente. O caminho de distribuição transfere a trilha por uma rede para destinos definidos. A trilha pode conter dados de vários Extracts, que são transferidos para um sistema remoto.
Processos que Lem do Arquivo de Trilha
Os processos Replicat e o Caminho de Distribuição são lidos nos arquivos de trilha. O processo Extract captura operações DML e DDL usando uma trilha local, executa processamento adicional, se necessário, e transfere os dados para uma trilha lida pelo próximo processo do Oracle GoldenGate, que é o Replicat.
Em caso de implantação distribuída, um processo de Serviço de Distribuição lerá o arquivo de trilha remota e o enviará pela rede para um processo de Serviço do Receptor em espera.
O processo Replicat lê a trilha e aplica as operações DML e DDL replicadas ao banco de dados de destino.
Criação e Manutenção do Arquivo de Trilha
Os arquivos de trilha são criados conforme necessário durante o processamento. Você especifica um nome de dois caracteres para a trilha quando a adiciona à configuração do Oracle GoldenGate. Por padrão, as trilhas são armazenadas no subdiretório do diretório do Oracle GoldenGate. Você pode especificar um número de sequência de nove dígitos para o arquivo de trilha.
À medida que cada novo arquivo é criado, ele herda o nome da trilha de dois caracteres anexado com um número de sequência exclusivo de nove dígitos de 000000000 até 999999999. Quando o número de sequência atingir 999,999,999 ou 999,999 (dependendo da configuração anterior), o processo Extract será interrompido.
Os arquivos de trilha podem ser expurgados rotineiramente configurando tarefas de manutenção automatizadas para expurgar arquivos de trilha ou excluir arquivos de trilha manualmente do Serviço de Administração. Consulte Excluir Arquivos de Trilha e Expurgar Trilhas
Você pode criar mais de uma trilha para separar os dados de diferentes objetos ou aplicativos. Para maximizar o throughput e minimizar a carga de E/S no sistema, os dados extraídos são enviados para dentro e para fora de uma trilha em grandes blocos. A ordem transacional do arquivo de trilha ou da sequência de trilha é preservada.
Arquivos de Parâmetros
A maioria da funcionalidade do Oracle GoldenGate é controlada por meio de parâmetros especificados nos arquivos de parâmetros. Arquivo de parâmetros é um arquivo de texto simples lido por um processo associado do Oracle GoldenGate.
A Arquitetura de Microsserviços do Oracle GoldenGate usa os seguintes parâmetros de runtime:
-
Parâmetros de tempo de execução globais: São diferentes do parâmetro GLOBALS. Elas se aplicam a todos os objetos de banco de dados especificados em um arquivo de parâmetros. Alguns parâmetros de runtime globais afetam o comportamento do processo, enquanto outros afetam coisas como a utilização da memória.
USERIDALIASé um exemplo de parâmetro de runtime global. Um parâmetro global deve ser listado apenas uma vez no arquivo. Quando listada mais de uma vez, somente a última instância fica ativa e todas as outras instâncias são ignoradas. -
Parâmetro específico do objeto: Esses parâmetros permitem que você aplique diferentes regras de processamento para diferentes conjuntos de objetos de banco de dados.
GETINSERTSeIGNOREINSERTSsão exemplos de parâmetros específicos do objeto. Cada uma precede uma instruçãoMAPque especifica os objetos a serem afetados. Os parâmetros específicos do objeto entram em vigor na ordem de sua listagem no arquivo.
Os parâmetros de runtime permitem controlar vários aspectos da sincronização do Oracle GoldenGate, como:
-
Seleção, mapeamento, transformação e replicação de dados
-
Seleção, mapeamento e replicação de sequência e DDL (quando suportados)
-
Resolução de erros
-
Registro em Log
-
Relatório de status e erro
-
Uso de recursos do sistema
-
Comportamento de inicialização e runtime
Embora você possa ter vários processos Extract e Replicats em execução em uma única implantação, cada um só pode ser associado a um único arquivo de parâmetros. Os Extracts e Replicats são identificados por seu nome sem distinção entre maiúsculas e minúsculas. Por exemplo, um processo Extract denominado exte teria 1 arquivo de parâmetros associado denominado exte.prm.
Arquivos e Tabelas de Checkpoint
O Oracle GoldenGate usa uma combinação de arquivos de checkpoint, tabelas de checkpoint e valores correspondentes dentro dos arquivos de trilha para garantir que os dados sejam aplicados exatamente uma vez à plataforma de destino. O Oracle GoldenGate usa esses objetos para garantir a replicação adequada dos dados e para fins de recuperação em caso de interrupção ou pane do banco de dados de origem, do banco de dados de destino ou do próprio Oracle GoldenGate. Esses objetos são essenciais para a integridade do Oracle GoldenGate e nunca devem ser modificados ou alterados sem a orientação direta do Suporte Técnico da Oracle.
Consulte Detalhes Adicionais das Tabelas de Checkpoint.
Uso de Checkpoint por Extract, Path e Replicat
Os pontos de verificação são usados durante a sincronização de alterações on-line para armazenar a posição de leitura e gravação atual de um processo. Os pontos de verificação garantem que as alterações de dados marcadas para sincronização sejam extraídas e evitam extrações redundantes. Elas fornecem tolerância a falhas evitando a perda de dados se o sistema, a rede ou um processo do Oracle GoldenGate precisar ser reiniciado.
Extract, Path (Extract) e Delivery (Replicat) salvam posições em um arquivo de checkpoint para permitir a recuperação em caso de falha. O Extract cria pontos de verificação para suas posições na origem de dados e na trilha. O Replicat cria pontos de verificação para sua posição na trilha. O diagrama a seguir demonstra esse fluxo de trabalho:

As informações do checkpoint são mantidas nos arquivos de checkpoint no diretório padrão do Oracle GoldenGate: $OGG_VAR_HOME/lib/checkpt
Isso não deve ser confundido com a tabela de checkpoint opcional armazenada no banco de dados. O Extract coloca um checkpoint de gravação, conhecido como checkpoint atual, na trilha. O checkpoint atual é a posição na trilha em que o Extract está gravando no momento.
Os pontos de verificação armazenam a posição de leitura/gravação atual de um processo. Eles evitam extrações redundantes e fornecem tolerância a falhas.
O Oracle GoldenGate usa os pontos de verificação apenas para fins informativos, pois a origem da verdade está nos arquivos de trilha.
Checkpoint de Caminho
O ponto de verificação Caminho do Serviço de Distribuição adiciona uma camada extra de confiabilidade para Arquitetura de Microsserviços ao transferir arquivos de trilha entre implantações. A imagem a seguir descreve o mecanismo de checkpoint DISTPATH usado em implantações.

A Leitura atual é o ponto de verificação do que foi lido pela última vez. O checkpoint verifica as alterações a cada segundo. Essa frequência é configurável. O checkpoint de Gravação identifica o que foi gravado pela última vez na trilha. O Oracle GoldenGate controla a posição de gravação na trilha.
O Caminho do serviço de distribuição não está ciente de nenhuma transação aberta porque eles processam apenas os registros que foram confirmados.
Checkpoint de Replicat
O Replicat faz checkpoints na tabela de checkpoint para marcar sua última posição de leitura e aplicação.
Para exibir pontos de verificação do processo, use o comando INFO REPLICAT com a opção SHOWCH. O comando básico mostra os pontos de verificação atuais.
O checkpoint atual é a posição do último registro lido pelo Replicat na trilha e aplicado ao banco de dados. A origem da verdade para transações aplicadas é a tabela de checkpoint. O arquivo de checkpoint usado pelos comandos Replicat e INFO são apenas informações aproximadas e de consultoria. Consulte a seguinte imagem para compreender este workflow:
