Solucionar problemas de consumo de memória

Observação:

Essas informações se aplicam apenas a implantações de replicação de Dados.

Se faltar memória para os processos de Extract ou Replicat do Oracle GoldenGate durante a execução de transações longas, configure o Cache Manager corretamente para cada processo.

A definição do tamanho padrão do cache de 64 GB é boa na maioria dos casos. Um problema surge quando você processa transações extremamente grandes ou sua forma de implantação é pequena em relação ao tamanho da transação que está sendo processada.

Dependendo da forma da implantação do OCI GoldenGate, 16 gigabytes (GB) de memória física são alocados por OCPU. Se o dimensionamento automático estiver ativado, a memória física total poderá ser até 3 vezes mais.

Por exemplo, uma implantação do OCI GoldenGate com 4 OCPUs (4 x 16 GB = 64 GB) e o dimensionamento automático ativado (64 GB x 3) tem 192 GB de memória física disponível.

Por padrão, cada implantação do OCI GoldenGate recebe 256 GB de espaço de troca. Portanto, sua memória virtual total para a implantação é de 192 GB + 256 GB = 448 GB. Considerando que todos os processos do GoldenGate na implantação compartilham essa memória virtual, a Oracle recomenda que você defina CACHEMGR CASHESIZE com uma faixa segura, como 60% da memória virtual total ou 268 GB. Quando o processo de Extract ou Replicat atinge o uso da memória virtual de 268 GB, as transações excedidas são gravadas em disco, cujo padrão é /u03/temp. Esse diretório padrão tem 256 GB disponíveis. Se esse espaço ainda não for suficiente, você poderá adicionar um diretório secundário. A Oracle recomenda /u02/Deployment/var/lib/cachemanager, que é ilimitado.

CACHEMGR CACHESIZE 268G CACHEDIRECTORY /u03/temp, CACHEDIRECTORY /u02/Deployment/var/lib/cachemanager

Se você tiver vários processos de Extract e Replicat que processam transações grandes na mesma implantação, poderá escolher entre as seguintes opções:

  • Aumente as OCPUs da implantação para que você tenha mais memória física e resulte em mais memória virtual para que seus processos usem.
  • Diminua a definição CACHEMGR CACHESIZE para que cada processo use menos memória virtual e force o excedente a usar os diretórios de disco. Isso permite manter a forma de implantação atual sem aumentar o custo. No entanto, o processamento de transações grandes será um pouco mais lento, visto que usa disco em vez de memória virtual para armazenar as transações pendentes no cache.

Você pode usar os parâmetros e recomendações mencionados aqui para ajudar a ajustar as definições do ambiente ao tamanho da transação.