Probleme mit dem Speicherverbrauch beheben

Wenn Ihre Oracle GoldenGate-Extract- oder -Replicat-Prozesse beim Ausführen langer Transaktionen nicht genügend Arbeitsspeicher haben, müssen Sie Cache Manager für jeden Prozess ordnungsgemäß konfigurieren.

Die Standardeinstellung von 64 GB für die Cachegröße ist in den meisten Fällen in Ordnung. Ein Problem tritt auf, wenn Sie extrem große Transaktionen verarbeiten oder Ihre Deployment-Ausprägung relativ zur Größe der Transaktion, die Sie verarbeiten, gering ist.

Je nach Ausprägung des OCI GoldenGate-Deployments werden pro OCPU 16 Gigabyte (GB) an physischem Speicher zugewiesen. Wenn Autoscaling aktiviert wurde, kann der gesamte physische Speicher das bis zu Dreifache betragen.

Beispiel: Bei einem OCI GoldenGate-Deployment mit 4 OCPUs (4 x 16 GB = 64 GB) und aktiviertem Autoscaling (64 GB x 3) sind 192 GB an physischem Speicher verfügbar.

Standardmäßig werden jedem OCI GoldenGate-Deployment 256 GB Swapspeicher zugewiesen. Daher beträgt der gesamte virtuelle Speicher für das Deployment 192 GB + 256 GB = 448 GB. Da alle GoldenGate-Prozesse im Deployment diesen virtuellen Speicher gemeinsam nutzen, empfiehlt Oracle, CACHEMGR CASHESIZE auf einen sicheren Bereich zu setzen, wie 60% des gesamten virtuellen Speichers oder 268 GB. Sobald der Extract- oder Replicat-Prozess einen virtuellen Speicherverbrauch von 268 GB erreicht hat, werden Überlauftransaktionen auf den Datenträger geschrieben, der standardmäßig /u03/temp lautet. Für dieses Standardverzeichnis sind 256 GB verfügbar. Wenn dieser Speicherplatz nicht ausreicht, können Sie ein sekundäres Verzeichnis hinzufügen. Oracle empfiehlt das Verzeichnis /u02/Deployment/var/lib/cachemanager, das unbegrenzt ist.

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

Wenn mehrere Extract- und Replicat-Prozesse große Transaktionen im selben Deployment verarbeiten, stehen Ihnen folgende Optionen zur Verfügung:

  • Erhöhen Sie die OCPUs des Deployments, sodass Sie mehr physischen Speicher haben, was wiederum zu mehr virtuellem Speicher für Ihre Prozesse führt.
  • Verringern Sie die Einstellung für CACHEMGR CACHESIZE, sodass jeder Prozess weniger virtuellen Speicher belegt und der Überlauf in die Datenträgerverzeichnisse erzwungen wird. Auf diese Weise können Sie die aktuelle Deployment-Ausprägung ohne Zusatzkosten beibehalten. Die Verarbeitung großer Transaktionen ist jedoch etwas langsamer, da sie Datenträgerspeicher anstelle von virtuellem Speicher belegt, um die ausstehenden Transaktionen im Cache zu speichern.

Sie können die hier genannten Parameter und Empfehlungen verwenden, um Ihre Umgebung optimal auf die Transaktionsgröße einzustellen.