Übergroße Änderungsprotokolltabellen

Die Änderungsprotokolltabellen werden so groß, wenn der indexer_update_all_views Cron-Vorgang nicht mehrmals erfolgreich abgeschlossen wurde.

Änderungsprotokolltabellen sind die Datenbanktabellen, in denen die Änderungen an Entitäten verfolgt werden. Ein Datensatz wird in einer Änderungsprotokolltabelle gespeichert, solange die Änderung nicht angewendet wird. Dies wird vom indexer_update_all_views Cron-Auftrag ausgeführt. Eine Adobe Commerce-Datenbank enthält mehrere Änderungsprotokolltabellen. Sie werden nach dem folgenden Muster benannt: INDEXER_TABLE_NAME + '_cl', z. B. catalog_category_product_cl, catalog_product_category_cl. Weitere Informationen zum Tracking von Änderungen in der Datenbank finden Sie im Artikel Indizierungsübersicht > Mview in unserer Entwicklerdokumentation.

MySQL Datenbank-Trigger nicht eingerichtet

Es besteht der Verdacht, dass keine Datenbank-Trigger eingerichtet werden, wenn nach dem Hinzufügen oder Ändern einer Entität (Produkt, Kategorie, Zielregel usw.) keine Datensätze zur entsprechenden Änderungsprotokolltabelle hinzugefügt werden.

Lösung

WARNUNG
Es wird dringend empfohlen, ein Datenbank-Backup zu erstellen, bevor Sie Manipulationen durchführen, und diese in Zeiten hoher Site-Auslastung zu vermeiden.

Vermeidung von Übergrößen von Änderungsprotokolltabellen

Stellen Sie sicher, dass der indexer_update_all_views Cron-Auftrag immer erfolgreich abgeschlossen wird.

Sie können die folgende SQL-Abfrage verwenden, um alle fehlgeschlagenen Instanzen des indexer_update_all_views Cron-Auftrags abzurufen:

select * from cron_schedule where job_code = "indexer_update_all_views" and status
  <> "success" and status <> "pending";

Alternativ können Sie den Status in den Protokollen überprüfen, indem Sie nach den indexer_update_all_views Einträgen suchen:

  • <install_directory>/var/log/cron.log - für Versionen 2.3.1+ und 2.2.8+
  • <install_directory>/var/log/system.log - für frühere Versionen