Adobe Commerceで customer_grid_flat テーブルが見つからないエラーを解決します
Adobe Commerce 2.4.5 で customer_grid_flat テーブルが見つからないエラーが発生するのは、重複するインデックス再作成プロセスで customer_grid テーブルの削除と再作成が同時に行われ、SQLSTATE[ 42S02] エラーが発生した場合です。 これを解決するには、管理アクションログにプロセスの競合がないかどうかを確認し、cron 実行中に手動でインデックスを再作成せず、bin/magento indexer:reset customer_grid を使用してインデクサーをリセットします。また、cron ジョブスケジュールを監視して、今後の重複を防ぎます。
説明 description
環境
- 製品 :Adobe Commerce、v2.4.5
- インスタンス :実稼動
問題/症状
- データベースに
customer_grid_flatテーブルがありません。 - SQLSTATE
[42S02]などのエラー:ベース テーブルまたはビューが見つかりません:1146 テーブル 'z3gmkbwmwrl4g.customer_grid_flat'が存在しません が表示されます。
原因
この問題は、customer_grid フルインデクサーを実行すると、customer_grid テーブルがドロップされて再作成され、列が調整された後にデータが挿入されるために発生します。 手動によるインデックス再作成と indexer_reindex_all_invalid cron ジョブが同時に実行された場合、あるプロセスは customer_grid テーブルを削除し、別のプロセスはそのテーブルにデータを挿入しようとします。 この重複は、SQLSTATE[ 42S02]:ベーステーブルまたはビューが見つかりません:1146 テーブル「z3gmkbwmwrl4g.customer_grid_flat」が存在しません エラーとなります。
解決策 resolution
完全な再インデックスを実行して、テーブルを復元します。 この問題に対処して防ぐには、次の手順に従います。
- 管理アクションのログを確認して、手動のインデックス再作成操作(
bin/magento indexer:reindex customer_grid)がindexer_reindex_all_invalidcron ジョブの実行と重なっているかどうかを確認します。 bin/magento indexer:reindex customer_gridの実行中にindexer_reindex_all_invalid cronを実行しないでください。 完全な再インデックスが必要な場合は、bin/magento indexer:reset customer_gridを使用します。indexer_reindex_all_invalidcron は、完全な再インデックスをバックグラウンドプロセスとして処理し、競合が発生することなくテーブルを自動的に再作成および設定します。- 監視ツールを使用して、
indexer_reindex_all_invalidなどの重要な cron ジョブが実行されているタイミングを追跡し、重複するタスクのスケジュールを回避します。
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f