Fehlerbehebung bei der spaltenbasierten Engine

Wählen Sie eine Dokumentationsversion aus:

Auf dieser Seite wird beschrieben, wie Sie Probleme beheben, die bei der Verwendung der spaltenorientierten AlloyDB Omni-Engine auftreten können. Weitere Informationen zur spaltenorientierten Engine finden Sie unter Übersicht über die spaltenorientierte Engine.

Fehler „Nicht genügend gemeinsam genutzter Speicher“ beheben

Wenn Sie AlloyDB Omni ohne genügend freigegebenen Arbeitsspeicher für die spaltenbasierte Engine ausführen, wird möglicherweise der folgende Fehler angezeigt:

Insufficient shared memory for generating the columnar formats.

Um dieses Problem zu beheben, geben Sie die Menge an gemeinsam genutztem Speicher an, die für den AlloyDB Omni-Container verfügbar ist.

Linux

  1. AlloyDB Omni muss bereits installiert sein und das Verzeichnis /dev/shm muss im Container eingebunden sein. Weitere Informationen finden Sie unter AlloyDB Omni-Installation anpassen.

  2. Erhöhen Sie die Größe der /dev/shm-Partition Ihres Hostcomputers, indem Sie beispielsweise die Datei /etc/fstab bearbeiten.

macOS

Installieren Sie einen neuen AlloyDB Omni-Container und geben Sie einen größeren Wert für den gemeinsam genutzten Arbeitsspeicher für das Flag --shm-size an.

Tabellen finden, die in der spaltenorientierten Engine enthalten sind

Erstellen Sie in der Ansicht g_columnar_relations Abfragen, um die Tabellen zu finden, die in der spaltenorientierten Engine vorhanden sind.

SELECT * FROM g_columnar_relations;

Gesamtspeicher ermitteln, der von der spaltenorientierten Engine verwendet wird

Mit der SQL-Funktion google_columnar_engine_memory_available() können Sie die Menge an Arbeitsspeicher ermitteln, die von der spaltenorientierten Engine verwendet wird.

SELECT google_columnar_engine_memory_available();

Ermitteln, ob bestimmte Spalten in der spaltenbasierten Engine nicht ausgefüllt werden

Probieren Sie die folgenden möglichen Lösungen aus:

  • Prüfen Sie, ob der Datentyp der Spalte von der spaltenorientierten Engine unterstützt wird.
  • Wenn Sie der Basistabelle vor Kurzem Spalten hinzugefügt oder daraus entfernt haben, prüfen Sie, ob Sie denselben Vorgang in der spaltenorientierten Engine ausgeführt haben.

Prüfen, ob eine Abfrage die spaltenorientierte Engine verwendet

Prüfen Sie im Abfrageplan, ob ein Planner-Knoten vom Typ „Custom Scan (columnar scan)“ vorhanden ist.

Laufende Wartungsjobs finden

Fragen Sie die Ansicht g_columnar_jobs ab, um die laufenden Jobs zu finden.

SELECT * FROM g_columnar_jobs;

Menge der Ressourcen festlegen, die für Wartungsaktivitäten in der spaltenorientierten Engine verwendet werden

Standardmäßig verwendet die spaltenorientierte Engine bis zu 20% der Datenbankressourcen. Wenn Sie die Nutzung erhöhen oder verringern möchten, passen Sie die Einstellung google_columnar_engine.maintenance_cpu_percentage (GUC) an. Weitere Informationen finden Sie unter CPU-Ressourcen für Wartungsaufgaben anpassen.