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_flat fehlt 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:

  1. Überprüfen Sie, ob sich der manuelle Neuindizierungsvorgang (bin/magento indexer:reindex customer_grid) mit der Ausführung des indexer_reindex_all_invalid Cron-Auftrags überschneidet, indem Sie die Admin-Aktionsprotokolle überprüfen.
  2. Führen Sie bin/magento indexer:reindex customer_grid nicht aus, während die indexer_reindex_all_invalid cron ausgeführt wird. Wenn eine vollständige Neuindizierung erforderlich ist, verwenden Sie bin/magento indexer:reset customer_grid. Das indexer_reindex_all_invalid Cron behandelt die vollständige Neuindizierung als Hintergrundprozess und erstellt und füllt Tabellen automatisch ohne Konflikte neu.
  3. Verwenden Sie Überwachungs-Tools, um zu verfolgen, wann kritische Cron-Aufträge wie indexer_reindex_all_invalid ausgeführt werden, um zu vermeiden, dass sich Aufgaben überschneiden.
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f