Effacer l'avertissement concernant les index de base de données manquants de Nextcloud

Pour lever l'avertissement « Base de données incomplète » de Nextcloud, exécutez la commande occ db:add-missing-indicesen tant qu'utilisateur du serveur web depuis l'installation Nextcloud appropriée. Cette commande ajoute les index définis par Nextcloud ou les applications installées, mais absents de la base de données. La documentation actuelle de Nextcloud 35 --dry-runindique qu'un aperçu du code SQL est disponible avant son exécution.

Vue d'ensemble de l'administration de type Nextcloud avec un avertissement orange indiquant que la base de données ne comporte pas certains index.
L'avertissement apparaît dans la vue d'ensemble de l'administration lorsque Nextcloud détecte des index manquants dans son schéma de base de données.

Que signifie cet avertissement ?

Un index de base de données est une structure de recherche qui permet à la base de données de trouver des lignes sans parcourir l'intégralité de la table. Nextcloud et ses applications ajoutent parfois des index pour optimiser les requêtes. Lors d'une mise à niveau, cette tâche peut être confiée à un administrateur, car la création d'un index sur une table volumineuse peut prendre du temps et impacter les performances. L'avertissement d'index manquant est généralement une invite de maintenance et non la preuve que des fichiers ou des enregistrements de la base de données sont corrompus.

La documentation de référence des commandes de base de données de Nextcloud explique db:add-missing-indicescomment ajouter des index présents dans le schéma attendu mais absents de l'installation actuelle. Elle documente également --dry-runla prévisualisation des requêtes SQL. Les index concernés dépendent de votre version de Nextcloud et des applications installées.

Préparer le serveur

  • Vérifiez quelle instance Nextcloud affiche l'avertissement, surtout si vous gérez des environnements de test et de production ou plusieurs conteneurs.
  • Assurez-vous de disposer d'une sauvegarde récente de la base de données et de savoir comment la restaurer. Cette commande modifie la structure de la base de données. Ne modifiez ni ne supprimez manuellement les index.
  • Il est conseillé d'exécuter cette commande lorsque la charge de la base de données est raisonnable. Le serveur peut rester en ligne pendant cette opération, conformément aux recommandations de mise à niveau de Nextcloud, mais l'indexation d'une table volumineuse peut prendre du temps et affecter temporairement la vitesse de réponse.
  • Trouvez le répertoire d'installation de Nextcloud, la version de l'interface de ligne de commande PHP utilisée par le serveur web et le compte utilisateur du système d'exploitation de ce serveur. Ce compte est généralement présent www-datasur Debian ou Ubuntu, apachesur Fedora ou CentOS, et httpsur Arch Linux.

Le guide OCC de Nextcloud explique qu'il occs'agit de l'interface en ligne de commande du serveur et qu'elle doit être exécutée en tant qu'utilisateur HTTP afin de garantir la cohérence des droits d'accès et de propriété des fichiers. Ne l'utilisez pas www-datasans précaution si votre installation utilise un compte différent.

Prévisualiser et ajouter les index manquants

Pour installer une archive standard sur Debian ou Ubuntu, ouvrez un terminal sur le serveur Nextcloud et accédez au répertoire contenant le occfichier. Cet exemple utilise/var/www/nextcloud ; votre chemin peut être différent.

cd /var/www/nextcloud
sudo -E -u www-data php occ db:add-missing-indices --dry-run

La simulation à blanc affiche la requête SQL qui serait exécutée sans modifier la base de données. Vérifiez que le résultat correspond bien à l'opération de maintenance attendue. Cette --dry-runoption est documentée dans le manuel de Nextcloud 35 ; si une version antérieure la refuse, consultez l'aide de cette version plutôt que de supprimer des options au hasard.

Un terminal Linux affichant la commande Nextcloud OCC missing-index avec l'option d'exécution à blanc
Utilisez l'option de simulation documentée pour inspecter le code SQL avant d'apporter une modification à la base de données.

Lorsque vous serez prêt à appliquer la modification, exécutez la commande sans--dry-run :

sudo -E -u www-data php occ db:add-missing-indices

Nextcloud vérifie les tables concernées et affiche la progression. Laissez le processus se terminer ; ne l'interrompez pas, même si le traitement d'une table volumineuse prend plus de temps que prévu. Le manuel de mise à niveau mentionne cette commande parmi les tâches de schéma plus longues pouvant s'exécuter pendant que l'instance est en ligne. Il n'est donc généralement pas nécessaire d'activer le mode maintenance pour cette réparation. Évitez toute maintenance de base de données simultanée pendant son exécution.

Un terminal Linux affichant la commande missing-index vérifiant la table du cache de fichiers et se terminant par « Done ».
La commande vérifie les tables de la base de données et retourne à l'interpréteur de commandes une fois l'opération terminée.

Si Nextcloud s'exécute dans Docker

Exécutez cette commande occdans le conteneur d'application Nextcloud, et non dans le conteneur de base de données séparé. Pour un conteneur portant le même nom nextcloudque le compte utilisateur habituel www-data, la commande est généralement :

docker exec --user www-data -it nextcloud php occ db:add-missing-indices

Remplacez nextcloudpar le nom réel de votre conteneur d'application. Si votre image ou déploiement utilise un utilisateur de conteneur, un binaire PHP ou un wrapper de commandes différent, suivez la documentation de cette image et exécutez la commande en tant qu'utilisateur HTTP.

Vérifiez que l'avertissement a disparu.

Une fois la commande terminée, actualisez les paramètres d'administration (Vue d'ensemble ). Le message d'index manquant devrait disparaître une fois que Nextcloud aura reconnu les index. Vous pouvez également relancer la commande ; elle devrait se terminer sans qu'il soit nécessaire d'ajouter à nouveau les index manquants. Cela confirme que la vérification du schéma est à jour, même si cela ne mesure pas les performances globales de la base de données.

Vue d'ensemble de l'administration de type Nextcloud, sans l'avertissement d'index manquant.
Une fois la commande terminée, actualisez la vue d'ensemble de l'administration et vérifiez si l'avertissement relatif à la base de données a disparu.

Si l'avertissement persiste

  1. Vérifiez que vous avez bien exécuté la commande sur la même installation Nextcloud et la même base de données que celles ayant généré l'avertissement. Une erreur fréquente consiste à l'exécuter dans un conteneur de maintenance, une instance de préproduction ou un conteneur de base de données.
  2. Vérifiez que la commande a été exécutée avec le compte utilisateur approprié du serveur web et avec la même version de PHP que ce dernier. Nextcloud indique qu'une configuration PHP différente en ligne de commande peut entraîner occdes erreurs.
  3. Sur Nextcloud 35 et versions ultérieures, exécutez la commande sudo -E -u www-data php occ db:schema:checkpermettant d'inspecter les différences de schéma. La documentation actuelle indique que cette vérification a été ajoutée dans la version 35. Pour les versions antérieures, utilisez les outils de diagnostic documentés pour cette version.
  4. Si l'index manquant appartient à une application tierce ou si la commande signale une erreur, mettez à jour l'application si une mise à jour est disponible, consultez le journal Nextcloud et la sortie de la commande, puis contactez le responsable de l'application ou le support Nextcloud en leur fournissant les noms exacts de l'index et de la table. N'exécutez pas CREATE INDEXde requêtes écrites manuellement, sauf si le responsable de l'application ou de la base de données vous les fournit pour votre schéma précis.

Pour un serveur de production, conservez la sauvegarde de la base de données jusqu'à ce que l'avertissement disparaisse et que l'application fonctionne normalement. Le guide de mise à niveau de Nextcloud décrit la procédure de maintenance en ligne et la simulation facultative.

Laisser un commentaire

Effacer l'avertissement concernant les index de base de données manquants de Nextcloud

Effacer l'avertissement concernant les index de base de données manquants de Nextcloud

Exécutez la réparation OCC de Nextcloud en toute sécurité, prévisualisez les modifications de la base de données et vérifiez pourquoi l'avertissement peut persister.

Augmenter la limite de chargement web de Nextcloud au-delà de 2 Go

Augmenter la limite de chargement web de Nextcloud au-delà de 2 Go

Autorisez les chargements de fichiers plus volumineux via le navigateur Nextcloud en alignant les paramètres PHP, Nginx ou Apache, le stockage temporaire et les délais d'expiration, et vérifiez quelle limite bloque le fichier.

Effacer l'avertissement de mémoire PHP de Nextcloud sur le serveur web

Définissez la limite de mémoire PHP réellement utilisée par Nextcloud, redémarrez le service concerné et confirmez le paramètre de 512 Mo dans la vue d'ensemble de l'administration.

Connectez un compartiment compatible S3 au stockage externe Nextcloud

Montez un compartiment de stockage d'objets compatible dans Nextcloud en utilisant son backend S3, avec le point de terminaison, les informations d'identification, le périmètre d'accès et les étapes de vérification appropriés.

Transférez vos données Nextcloud vers un disque externe sans interruption de stockage.

Transférez vos données Nextcloud vers un disque externe sans interruption de stockage.

Déplacez en toute sécurité un répertoire de données Nextcloud Linux vers un disque externe en utilisant un montage UUID persistant, le mode maintenance, une copie vérifiée et le lien symbolique du chemin d'origine.

Erreur de base de données Nextcloud après une mise à jour : que vérifier en premier ?

Rétablissez l'accès à Nextcloud après une mise à jour en diagnostiquant les erreurs SQL, en vérifiant la connectivité de la base de données et en terminant en toute sécurité les migrations interrompues.

Réinitialisez un mot de passe d'administrateur Nextcloud perdu avec OCC

Utilisez la commande OCC de Nextcloud pour réinitialiser un mot de passe administrateur depuis l'interface de ligne de commande du serveur, avec des instructions concernant les noms d'utilisateur, les permissions et les fournisseurs d'authentification externes.

Ajoutez l'en-tête HSTS au point de terminaison HTTPS qui héberge Nextcloud.

Éliminez l'avertissement HSTS de Nextcloud en configurant l'en-tête au niveau d'Apache, de NGINX ou de votre proxy TLS, puis vérifiez la réponse HTTPS publique en toute sécurité.

Résolution des problèmes d'installation de l'application Nextcloud signalant une absence de connexion Internet

Résolution des problèmes d'installation de l'application Nextcloud signalant une absence de connexion Internet

Identifiez les échecs d'installation de l'App Store comme étant liés à des problèmes de DNS, HTTPS, de proxy, TLS ou de configuration du serveur Nextcloud lui-même.

Maîtrisez les pics d'utilisation du processeur lors de la prévisualisation de Nextcloud grâce à une file d'attente planifiée

Déplacez le traitement des vignettes vers une planification en arrière-plan contrôlée, réduisez les tailles d'aperçu inutilisées et vérifiez la file d'attente sans surcharger votre serveur Nextcloud.