Risolvere i problemi di consumo di memoria

Nota

Queste informazioni si applicano solo alle distribuzioni di replica dei dati.

Se la memoria delle estrazioni o delle repliche di Oracle GoldenGate è esaurita durante l'esecuzione di transazioni lunghe, è necessario configurare correttamente Cache Manager per ogni processo.

L'impostazione predefinita della dimensione della cache di 64 GB è valida nella maggior parte dei casi. Si verifica un problema quando si elaborano transazioni estremamente grandi o la forma di distribuzione è ridotta rispetto alle dimensioni della transazione in fase di elaborazione.

A seconda della forma della distribuzione OCI GoldenGate, vengono allocati 16 gigabyte (GB) di memoria fisica per OCPU. Se è stata abilitata la scala automatica, la memoria fisica totale può essere fino a 3 volte superiore.

Ad esempio, una distribuzione OCI GoldenGate con 4 OCPU (4 x 16 GB = 64 GB) e abilitata per la scala automatica (64 GB x 3) dispone di 192 GB di memoria fisica disponibile.

Per impostazione predefinita, a ogni distribuzione OCI GoldenGate vengono allocati 256 GB di spazio di swap. Pertanto, la memoria virtuale totale per la distribuzione è di 192 GB + 256 GB = 448 GB. Considerando che tutti i processi GoldenGate nella distribuzione condividono questa memoria virtuale, Oracle consiglia di impostare CACHEMGR CASHESIZE su un intervallo sicuro, ad esempio il 60% della memoria virtuale totale o 268 GB. Una volta che Extract o Replicat raggiunge i 268 GB di utilizzo della memoria virtuale, le transazioni di overflow vengono scritte su disco, che per impostazione predefinita è /u03/temp. Questa directory predefinita dispone di 256 GB. Se questo non è ancora sufficiente spazio, è possibile aggiungere una directory secondaria. Oracle consiglia /u02/Deployment/var/lib/cachemanager, che è illimitato.

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

Se sono presenti più estrazioni e repliche che elaborano transazioni di grandi dimensioni nella stessa distribuzione, è possibile scegliere tra le opzioni riportate di seguito.

  • Aumenta le OCPU della distribuzione in modo da avere più memoria fisica e ottenere una maggiore memoria virtuale da utilizzare per i processi.
  • Ridurre l'impostazione CACHEMGR CACHESIZE in modo che ogni processo utilizzi meno memoria virtuale e costringa l'overflow a utilizzare le directory del disco. Ciò consente di mantenere la forma di distribuzione corrente senza aumentare i costi. Tuttavia, l'elaborazione delle transazioni di grandi dimensioni sarà leggermente più lenta in quanto utilizza il disco anziché la memoria virtuale per memorizzare nella cache le transazioni in sospeso.

È possibile utilizzare i parametri e i suggerimenti menzionati qui per ottimizzare le impostazioni dell'ambiente in base alle dimensioni della transazione.