Fehler „Nicht genügend gemeinsam genutzter Arbeitsspeicher“ beheben
Wenn Sie AlloyDB Omni mit nicht genügend gemeinsam genutztem 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 für den AlloyDB Omni-Container verfügbar ist.
Linux
Prüfen Sie, ob Sie AlloyDB Omni bereits installiert haben und das Verzeichnis
/dev/shmim Container eingebunden ist. Weitere Informationen finden Sie unter AlloyDB Omni-Installation anpassen.Erhöhen Sie die Größe der
/dev/shm-Partition Ihres Hostcomputers, indem Sie beispielsweise die Datei/etc/fstabbearbeiten.
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 finden
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
Fragen Sie die Ansicht g_columnar_jobs ab, 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.