Résoudre l'avertissement « Base de données incomplète » de Nextcloud

Vous ouvrez la vue d'ensemble de l'administration de Nextcloud et constatez le message : « La base de données ne contient pas tous les index. » Cet avertissement peut apparaître après une mise à niveau, car Nextcloud peut ajouter de nouveaux index aux tables existantes au fil du temps, et ne les crée pas toujours automatiquement sur une base de données volumineuse. L'absence d'index peut ralentir certaines requêtes. La solution proposée est la commande intégrée occ db:add-missing-indices.

Avant de modifier le schéma, assurez-vous d'utiliser la commande correspondant à votre installation Nextcloud, effectuez une sauvegarde de la base de données et utilisez l'utilisateur du système d'exploitation du serveur web. Sur les versions compatibles, prévisualisez la requête SQL proposée --dry-run. Lancez ensuite la réparation et vérifiez à nouveau l'aperçu de l'administration.

Que signifie cet avertissement ?

Un index de base de données est une structure qui permet à la base de données de trouver des lignes sans parcourir l'intégralité de la table. Nextcloud et ses applications définissent des index pour les tables et les champs qu'elles utilisent. Lorsqu'une nouvelle version de Nextcloud ou d'une application introduit un index absent de l'installation existante, la page d'administration peut signaler cette incompatibilité. Il s'agit d'un avertissement relatif à la maintenance du schéma ; en soi, cela ne signifie pas que la base de données est corrompue ni que des fichiers utilisateur sont manquants.

Le manuel d'administration de Nextcloud indique que des index peuvent être ajoutés au fil du temps, notamment pour améliorer les performances, et recommande aux administrateurs d'exécuter la occ db:add-missing-indicescommande appropriée. L'ajout d'un index peut prendre du temps, surtout pour une table volumineuse, et la charge de la base de données ainsi que le comportement de verrouillage peuvent varier selon le moteur de base de données et la charge de travail. Si votre instance est sollicitée, planifiez cette modification pendant une période de faible activité.

Avant de procéder à la réparation

  • Veuillez confirmer le chemin d'installation et la version. Exécutez les commandes depuis le répertoire contenant le script d'installation souhaité occou indiquez son chemin complet.
  • Sauvegardez la base de données. Utilisez votre procédure de sauvegarde habituelle pour MariaDB/MySQL, PostgreSQL ou SQLite. Vérifiez que la sauvegarde est terminée et que vous savez comment la restaurer.
  • Trouvez l'utilisateur HTTP.www-data Utilisez le compte qui exécute le serveur web de Nextcloud. Sur Debian, Ubuntu, apacheFedora, CentOS, httpArch et wwwrunopenSUSE, par exemple . Votre configuration peut être différente.
  • Vérifiez les options de commande. Le manuel d'administration stable de Nextcloud 35 les documente --dry-run. Si votre version installée ne la reconnaît pas, consultez la occ db:add-missing-indices --helpdocumentation correspondante et ignorez l'aperçu plutôt que de supposer que l'option existe.

Le guide de sauvegarde officiel répertorie la base de données, la configuration, le répertoire de données et les autres composants d'installation à conserver pour une sauvegarde complète. Pour cette opération de schéma, effectuez au minimum une sauvegarde de base de données testée en suivant la procédure appropriée.

Étape 1 : Ouvrez un terminal dans l’installation de Nextcloud.

Pour une installation Linux classique, connectez-vous au serveur via SSH et accédez au répertoire Nextcloud. Sous Ubuntu, le chemin courant est `/etc/nextcloud` /var/www/nextcloud, mais utilisez le chemin spécifique à votre serveur.

cd /var/www/nextcloud
sudo -E -u www-data php occ status

Vérifiez que le résultat de l'état indique bien l'instance installée attendue. Si vous utilisez une version de PHP différente de celle par défaut du shell pour le serveur web php, utilisez la même version compatible occ. L'exécution occen tant qu'utilisateur HTTP permet de préserver les droits d'accès et de propriété des fichiers.

Étape 2 : Prévisualiser les modifications de l’index

Si votre version installée le permet, effectuez d'abord un test à blanc :

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

La simulation permet de prévisualiser les instructions SQL sans les exécuter. Lisez le résultat et vérifiez qu'il concerne bien les index manquants que vous souhaitez réparer. Si le résultat identifie une table ou un index que vous ne reconnaissez pas, notez son nom exact et vérifiez si l'application correspondante est installée et à jour. Ne copiez pas directement le code SQL prévisualisé dans la console de la base de données.

Étape 3 : Ajouter les index manquants

Lorsque l'aperçu est attendu et que la sauvegarde est prête, exécutez la commande de réparation documentée :

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

Cette commande vérifie les tables de la base de données et crée les index définis dans le schéma mais absents de l'installation actuelle. Laissez-la terminer. Sur une base de données volumineuse, cette opération peut prendre un certain temps. Évitez de l'interrompre pendant la modification du schéma. La documentation de Nextcloud indique que cette commande peut être exécutée sans interrompre l'instance ; le mode maintenance n'est pas mentionné comme prérequis pour cette réparation. Si une fenêtre de maintenance est nécessaire, suivez votre propre procédure de gestion des changements.

Docker et autres types d'installation

Dans un déploiement conteneurisé, exécutez les commandes occdans le conteneur de l'application Nextcloud, et non dans celui de la base de données. Les noms des conteneurs et des services varient ; vérifiez donc votre déploiement et remplacez-les par les noms corrects. Pour un conteneur Docker nommé `<nom_du_conteneur>` nextcloud, le modèle est :

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

Pour Docker Compose, le modèle correspondant est `<nom_du_conteneur>` docker compose exec -u www-data <nextcloud-service> php occ db:add-missing-indices. Certains déploiements préconfigurés utilisent une commande dédiée ou un utilisateur de conteneur différent ; suivez les instructions spécifiques à ce package. Ne copiez pas le nom d'un conteneur depuis la configuration d'une autre personne sans l'avoir vérifié.

Si la commande échoue ou si l'avertissement persiste

  • Accès refusé : vérifiez l’utilisateur HTTP et le chemin d’installation. N’exécutez pas la commande en tant que superutilisateur (root) pour résoudre ce problème, sauf si la documentation de votre déploiement exige explicitement un processus privilégié ; le processus PHP doit généralement s’exécuter avec les privilèges de l’utilisateur du serveur web.
  • Erreur de connexion à la base de données ou erreur PHP : vérifiez les journaux Nextcloud, l’état du service de base de données, la version PHP configurée et le résultat de la commande. Résolvez le problème de connexion ou d’exécution sous-jacent avant de relancer la commande de schéma.
  • Erreur de clé dupliquée ou d'index unique : arrêtez l'exécution et conservez le texte d'erreur complet. Ce message peut indiquer des lignes en conflit empêchant la création d'un index unique. Identifiez l'application et la table concernées, vérifiez les versions de l'application et de Nextcloud, puis contactez le responsable de l'application ou un administrateur connaissant bien cette base de données. Ne supprimez aucune ligne ni aucun index sans avoir effectué un diagnostic précis des données et sans avoir réalisé une sauvegarde.
  • Commande introuvable ou option non prise en charge : vérifiez que vous utilisez la bonne installation Nextcloud et connectez php occ list-vous php occ help db:add-missing-indicesen tant qu’utilisateur HTTP. Les versions plus anciennes peuvent ne pas proposer toutes les nouvelles options.
  • L'avertissement persiste : actualisez la vue d'ensemble de l'administration une fois la commande terminée. Consultez les noms exacts des index et des tables mentionnés dans l'avertissement. Il peut s'agir de plusieurs index manquants, d'un index nouvellement créé suite à une mise à jour de l'application, d'une opération de base de données ayant échoué ou d'une incompatibilité de schéma que cette commande n'a pas résolue.

Ne confondez pas les index manquants avec les colonnes ou clés primaires manquantes. Nextcloud documente des commandes distinctes pour ces modifications de schéma, telles que ` db:add-missing-columnsupdate` et `update` db:add-missing-primary-keys. N'effectuez une réparation différente que si l'avertissement de l'administrateur ou la documentation spécifique à votre version le requiert.

Vérifiez le résultat

  1. Attendez que db:add-missing-indicesles sorties et les rapports soient terminés, comme par exempleDone.
  2. Rechargez la vue d'ensemble de l'administration et vérifiez que l'avertissement relatif à l'index manquant a disparu.
  3. Si le problème persiste, comparez les noms exacts de sa table et de son index avec la sortie de la commande plutôt que de la relancer à l'aveuglette.
  4. Vérifiez le journal Nextcloud et l'état de la base de données pour détecter de nouvelles erreurs, puis assurez-vous que l'accès normal aux fichiers et les applications utilisant les tables concernées fonctionnent toujours.
  5. Conservez la sauvegarde jusqu'à ce que l'instance ait fonctionné normalement et que votre politique de rétention autorise sa suppression.

Pour connaître la syntaxe actuelle des commandes, consultez le guide de référence des commandes de base de données et d'index de Nextcloud . Pour connaître la configuration requise pour l'utilisateur et PHP, consultez la documentation relative à la commande `occ` et le guide de sauvegarde de Nextcloud . Ces pages stables indiquent que le manuel actuel correspond à Nextcloud Server 35 (au 6 octobre 2026) ; les chemins d'accès, les options et les instructions d'installation peuvent varier selon les versions ou les types de déploiement.

Laisser un commentaire

Les 10 meilleurs outils de balayage ping pour trouver les appareils sur votre réseau

Les 10 meilleurs outils de balayage ping pour trouver les appareils sur votre réseau

Comparez 10 outils de balayage ping pour une découverte rapide du réseau local, une analyse multiplateforme et la gestion des adresses IP. Découvrez ce qu'un balayage peut – et ne peut pas – vous révéler.

6 outils de gestion de réseau performants pour le suivi des performances

6 outils de gestion de réseau performants pour le suivi des performances

Comparez six outils de gestion de réseau pour la surveillance des performances, notamment la couverture SNMP, la cartographie, les alertes, les modèles de déploiement et les compromis en matière de coûts.

Moniteur de ping : 7 outils gratuits et open source pour la disponibilité du réseau

Moniteur de ping : 7 outils gratuits et open source pour la disponibilité du réseau

Comparez sept moniteurs de ping gratuits et open source, allant des suites réseau complètes aux sondes de latence ciblées, et choisissez celui qui convient le mieux à vos besoins en matière de disponibilité, de perte de paquets et d'historique.

Meilleurs analyseurs Wi-Fi pour Windows, iOS et Android

Meilleurs analyseurs Wi-Fi pour Windows, iOS et Android

Comparez les meilleurs analyseurs Wi-Fi pour Windows, iPhone et Android, incluant des outils pour la congestion des canaux, la couverture du signal, les cartes thermiques et le dépannage réseau.

La qualité de service (QoS) dans les réseaux : définition et fonctionnement

La qualité de service (QoS) dans les réseaux : définition et fonctionnement

Découvrez ce que signifie la QoS dans le domaine des réseaux, comment les marquages ​​DSCP et les files d'attente de trafic priorisent la voix, la vidéo et les applications professionnelles, et ce que la QoS ne peut pas corriger.

Meilleur logiciel serveur SFTP pour les transferts de fichiers sécurisés

Meilleur logiciel serveur SFTP pour les transferts de fichiers sécurisés

Comparez les logiciels serveurs SFTP fiables pour Windows et Linux, notamment OpenSSH, Bitvise, SolarWinds et SFTPGo. Trouvez la solution idéale pour vos besoins en matière de sécurité et de transfert de fichiers.

Les 7 meilleurs outils de gestion d'adresses IP pour les équipes réseau

Les 7 meilleurs outils de gestion d'adresses IP pour les équipes réseau

Comparez sept outils de gestion d'adresses IP pour la découverte de sous-réseaux, la coordination DNS et DHCP, l'inventaire réseau et l'IPAM open source.

Bonnes pratiques de surveillance réseau : que surveiller et quels outils utiliser

Bonnes pratiques de surveillance réseau : que surveiller et quels outils utiliser

Mettez en place une surveillance réseau pratique avec une couverture claire des périphériques, des indicateurs de performance utiles, des alertes exploitables et une comparaison de SolarWinds NPM, PRTG et OpManager.

Les 10 meilleurs outils d'analyse réseau pour la découverte des périphériques et des adresses IP

Les 10 meilleurs outils d'analyse réseau pour la découverte des périphériques et des adresses IP

Comparez les outils d'analyse réseau pour la découverte rapide des périphériques, les analyses IP multiplateformes et la gestion des identités et des accès IP (IPAM) d'entreprise, avec des conseils pour adapter chaque option à votre réseau.

Comment utiliser Nmap pour traceroute et lire le chemin réseau

Comment utiliser Nmap pour traceroute et lire le chemin réseau

Utilisez l'option --traceroute de Nmap pour associer les sauts à un hôte autorisé, comprendre les résultats des sauts et du RTT, et résoudre les problèmes de réponses manquantes sans sur-analyse.