Utilizando Vários Grupos de Processos

Normalmente, apenas um grupo Extract é necessário para capturar com eficiência de um banco de dados. No entanto, dependendo dos valores de redo (transacional), ou dos dados e tipos de operação, você pode achar que é necessário adicionar um ou mais grupos Extract à configuração.

Da mesma forma, apenas um grupo Replicat normalmente é necessário para aplicar dados a um banco de dados de destino se estiver usando o Replicat no modo coordenado. No entanto, mesmo que em alguns casos você esteja usando o Replicat no modo coordenado, poderá ser necessário usar vários grupos Replicat. Se você estiver usando o Replicat no modo clássico e seus aplicativos gerarem um alto volume de transações, provavelmente precisará usar grupos Replicat paralelos.

Cada componente do Oracle GoldenGate, Extract, trail, DISTPATH e Replicat, é um módulo independente para que você possa combiná-los de maneiras que atendam às suas necessidades. Você pode usar várias trilhas e processos paralelos Extract e Replicat para lidar com um grande volume de transações, melhorar o desempenho, eliminar gargalos, reduzir a latência ou isolar o processamento de dados específicos.

O diagrama a seguir mostra algumas das maneiras pelas quais você pode configurar o Oracle GoldenGate para melhorar a velocidade de throughput e superar problemas de largura de banda da rede.

As configurações de balanceamento de carga que melhoram o desempenho mostram algumas das maneiras pelas quais você pode configurar o Oracle GoldenGate para melhorar a velocidade de throughput e superar problemas de largura de banda da rede.

Os rótulos de imagem implicam o seguinte:

Diretrizes para o Uso de Vários Grupos de Processos

Antes de configurar vários grupos de processamento, revise as diretrizes a seguir para garantir que a configuração produza os resultados esperados e mantenha a integridade dos dados.

Mantendo a Integridade dos Dados

Nem todas as cargas de trabalho podem ser particionadas em vários grupos e ainda preservar a atomicidade da transação original. Você deve determinar se os objetos em um grupo terão dependências de objetos em qualquer outro grupo, transacional ou não. Por exemplo, as tabelas para as quais a carga de trabalho atualiza rotineiramente a chave primária não podem ser facilmente particionadas dessa maneira. A replicação de DDL (se suportada para o banco de dados) não é viável nesse modo, nem o uso de alguns recursos SQLEXEC ou EVENTACTIONS que baseiam suas ações em um registro específico.

Se as tabelas não tiverem dependências de chave estrangeira ou atualizações para chaves primárias, talvez seja possível usar vários processos. Mantenha a DML relacionada no mesmo fluxo de processo para garantir a integridade dos dados.

Número de Grupos

O número de grupos de processos Extract e Replicat simultâneos que podem ser executados em um sistema depende da quantidade de memória do sistema disponível. Cada processo Extract e Replicat clássico precisa de aproximadamente 25 a 55 MB de memória ou mais, dependendo do tamanho das transações e do número de transações simultâneas. A interface de comando do Oracle GoldenGate suporta totalmente até 5.000 grupos simultâneos de Extract e Replicat (combinados) por instância do Oracle GoldenGate. No nível suportado, todos os grupos podem ser controlados e exibidos na íntegra com comandos como os comandos INFO e STATUS.

Além do nível suportado, as informações do grupo não são exibidas e podem ocorrer erros. O Oracle GoldenGate recomenda manter o número de grupos Extract e Replicat (combinados) em um nível mais gerenciável, como 100 ou menos, para gerenciar o ambiente com eficiência. O número máximo de grupos é controlado pelo parâmetro MAXGROUPS, que tem um valor padrão de 1000.

Para ambientes do Windows Server, o número de grupos de processos que podem ser executados é fortemente acoplado às configurações de memória de heap de desktop do Windows 'não interativas'. As configurações padrão para o heap da área de trabalho do Windows podem ser suficientes para executar um número muito pequeno de grupos de processos, mas à medida que você se aproxima de quantidades maiores de grupos de processos, mais de 60 ou mais, você precisará ajustar o ' valor não interativo do campo SharedSection no registro, com base nessas informações da Microsoft (memória de heap da área de trabalho do Windows), ou aumentar o número de homes do Oracle GoldenGate e distribuir o número total de grupos de processos desejados por esses homes. Observação: Para obter mais informações sobre como modificar a memória do Windows Desktop Heap, revise o seguinte documento da Base de Conhecimento da Oracle (ID de Documento 2056225.1).

Memória

O sistema deve ter espaço de permuta suficiente para cada processo Extract e Replicat do Oracle GoldenGate que estará em execução. Para determinar o espaço de permuta necessário:

  1. Inicializar um Extract ou Replicat.

  2. Execute o Admin Client.

  3. Exiba o arquivo de relatório e localize a linha PROCESS VM AVAIL FROM OS (min).

  4. Arredonde o valor para o próximo gigabyte completo, se necessário. Por exemplo, arredonde 1.76GB para 2 GB.

  5. Multiplique esse valor pelo número de processos Extract e Replicat que estarão em execução. O resultado é a quantidade máxima de espaço de permuta que pode ser necessária

Consulte o parâmetro CACHEMGR na Referência de Parâmetros e Funções do Oracle GoldenGate para obter mais informações sobre como a memória é gerenciada.

Isolando Tabelas de Processamento Intensivo

É possível usar vários grupos de processos para suportar determinados tipos de tabelas que tendem a interferir no processamento normal e causar latência no destino. Por exemplo: