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 spaltenbasierten Engine von AlloyDB Omni auftreten können. Weitere Informationen zur spaltenbasierten Engine finden Sie unter Übersicht über die spaltenbasierte Engine.

Fehler „Nicht genügend gemeinsam genutzter Arbeitsspeicher“ beheben

Wenn Sie AlloyDB Omni ohne genügend gemeinsam genutzten 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 des gemeinsam genutzten Arbeitsspeichers an, der dem AlloyDB Omni-Container zur Verfügung steht.

Linux

  1. Prüfen Sie, ob Sie AlloyDB Omni bereits installiert haben und das Verzeichnis /dev/shm auf dem Container bereitgestellt ist. 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 --shm-size Flag an.

Tabellen finden, die in der spaltenbasierten Engine gefüllt sind

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

SELECT * FROM g_columnar_relations;

Gesamten von der spaltenbasierten Engine verwendeten Arbeitsspeicher ermitteln

Mit der SQL-Funktion google_columnar_engine_memory_available() können Sie die Menge des von der spaltenbasierten Engine verwendeten Arbeitsspeichers ermitteln.

SELECT google_columnar_engine_memory_available();

Feststellen, ob bestimmte Spalten in der spaltenbasierten Engine nicht gefüllt sind

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

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

Prüfen, ob eine Abfrage die spaltenbasierte Engine verwendet

Prüfen Sie im Abfrageplan, ob ein Planerknoten „Benutzerdefinierte Suche (spaltenbasierte Suche)“ vorhanden ist.

Laufende Wartungsjobs finden

Führen Sie eine Abfrage in der Ansicht g_columnar_jobs aus, um die laufenden Jobs zu finden.

SELECT * FROM g_columnar_jobs;

Menge der Ressourcen festlegen, die bei Wartungsaktivitäten in der spaltenbasierten Engine verwendet werden

Standardmäßig verwendet die spaltenbasierte Engine bis zu 20% der Datenbankressourcen. Wenn Sie diese 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.