Beheben des fehlenden Tabellenfehlers customer_grid_flat in Adobe Commerce
Der Fehler customer_grid_flat fehlende Tabelle in Adobe Commerce 2.4.5 tritt auf, wenn sich überschneidende Neuindizierungsprozesse die Tabelle "customer_grid" gleichzeitig löschen und neu erstellen, was zu SQLSTATE[ 42S02]-Fehlern führt. Um dies zu beheben, überprüfen Sie die Admin-Aktionsprotokolle auf Prozesskonflikte, vermeiden Sie die manuelle Neuindizierung während der Cron-Ausführung, setzen Sie den Indexer mithilfe von bin/magento indexer:reset customer_grid zurück und überwachen Sie Cron-Auftragspläne, um zukünftige Überschneidungen zu vermeiden.
Beschreibung description
Umgebung
- Produkt: Adobe Commerce, v2.4.5
- Instance: Produktion
Problem/Symptome
- Die
customer_grid_flatfehlt in der Datenbank. - Fehler wie SQLSTATE
[42S02]: Basistabelle oder Ansicht nicht gefunden: 1146 Tabelle 'z3gmkbwmwrl4g.customer_grid_flat' existiert nicht werden angezeigt.
Ursache
Das Problem tritt auf, weil bei Ausführung des customer_grid Indexers die customer_grid Tabelle zur Spaltenanpassung gelöscht und neu erstellt wird und dann Daten eingefügt werden. Wenn eine manuelle Neuindizierung und der indexer_reindex_all_invalid Cron-Auftrag gleichzeitig ausgeführt werden, löscht ein Prozess die customer_grid Tabelle, während ein anderer Prozess versucht, Daten in sie einzufügen. Diese Überschneidung führt zu SQLSTATE[ 42S02] : Basistabelle oder Ansicht nicht gefunden: 1146 Tabelle 'z3gmkbwmwrl4g.customer_grid_flat' existiert nicht Fehlern.
Auflösung resolution
Stellen Sie die Tabelle wieder her, indem Sie eine vollständige Neuindizierung durchführen. Gehen Sie wie folgt vor, um dieses Problem zu beheben und zu verhindern:
- Überprüfen Sie, ob sich der manuelle Neuindizierungsvorgang (
bin/magento indexer:reindex customer_grid) mit der Ausführung desindexer_reindex_all_invalidCron-Auftrags überschneidet, indem Sie die Admin-Aktionsprotokolle überprüfen. - Führen Sie
bin/magento indexer:reindex customer_gridnicht aus, während dieindexer_reindex_all_invalid cronausgeführt wird. Wenn eine vollständige Neuindizierung erforderlich ist, verwenden Siebin/magento indexer:reset customer_grid. Dasindexer_reindex_all_invalidCron behandelt die vollständige Neuindizierung als Hintergrundprozess und erstellt und füllt Tabellen automatisch ohne Konflikte neu. - Verwenden Sie Überwachungs-Tools, um zu verfolgen, wann kritische Cron-Aufträge wie
indexer_reindex_all_invalidausgeführt werden, um zu vermeiden, dass sich Aufgaben überschneiden.