Solucionar problemas de consumo de memória
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.