Beheben Sie die Nextcloud-Warnung „Datenbank enthält nicht alle Indizes“.

Sie öffnen die Administrationsübersicht von Nextcloud und sehen die Meldung: „Der Datenbank fehlen einige Indizes.“ Diese Warnung kann nach einem Upgrade erscheinen, da Nextcloud bestehenden Tabellen im Laufe der Zeit neue Indizes hinzufügen kann und diese bei großen Datenbanken nicht immer automatisch erstellt. Fehlende Indizes können Datenbankabfragen verlangsamen. Die unterstützte Lösung ist der integrierte occ db:add-missing-indicesBefehl.

Bevor Sie das Schema ändern, vergewissern Sie sich, dass Sie den Befehl für die richtige Nextcloud-Installation ausführen, erstellen Sie eine Datenbanksicherung und verwenden Sie den Betriebssystembenutzer des Webservers. Bei Versionen, die dies unterstützen, können Sie die vorgeschlagene SQL-Anweisung mit dem Befehl `sql` in der Vorschau anzeigen --dry-run. Führen Sie anschließend die Reparatur durch und überprüfen Sie die Administrationsübersicht erneut.

Was die Warnung bedeutet

Ein Datenbankindex ist eine Struktur, die der Datenbank hilft, Zeilen zu finden, ohne eine gesamte Tabelle durchsuchen zu müssen. Nextcloud und seine Apps definieren Indizes für die verwendeten Tabellen und Felder. Wenn eine neuere Nextcloud-Version oder App-Version einen Index einführt, der in einer bestehenden Installation noch nicht vorhanden ist, kann die Administrationsseite diese Diskrepanz melden. Es handelt sich dabei um eine Warnung zur Schema-Wartung; sie bedeutet nicht zwangsläufig, dass die Datenbank beschädigt ist oder Benutzerdateien fehlen.

Das Nextcloud-Administrationshandbuch beschreibt, wie Indizes im Laufe der Zeit hinzugefügt werden können, beispielsweise zur Leistungsverbesserung, und empfiehlt Administratoren, den Befehl auszuführen occ db:add-missing-indices. Das Hinzufügen eines Index kann einige Zeit in Anspruch nehmen, insbesondere bei großen Tabellen. Die Datenbanklast und das Sperrverhalten können je nach Datenbank-Engine und Arbeitslast variieren. Planen Sie die Änderung daher in einer weniger frequentierten Phase, falls Ihre Instanz stark ausgelastet ist.

Bevor Sie die Reparatur durchführen

  • Bestätigen Sie den Installationspfad und die Version. Führen Sie Befehle aus dem Verzeichnis aus, das das gewünschte Installationsskript enthält occ, oder geben Sie dessen vollständigen Pfad an.
  • Sichern Sie die Datenbank. Verwenden Sie dazu Ihr übliches Sicherungsverfahren für MariaDB/MySQL, PostgreSQL oder SQLite. Vergewissern Sie sich, dass die Sicherung abgeschlossen wurde und Sie wissen, wie Sie sie wiederherstellen können.
  • Suchen Sie den HTTP-Benutzer. Verwenden Sie das Konto, auf dem der Webserver für Nextcloud läuft. Gängige Beispiele sind www-dataDebian oder Ubuntu, apacheFedora oder CentOS, httpArch und wwwrunopenSUSE. Ihre Installation kann abweichen.
  • Prüfen Sie die Befehlsoptionen. Das stabile Administrationshandbuch von Nextcloud 35 dokumentiert diese --dry-run. Falls Ihre installierte Version die Option nicht erkennt, konsultieren Sie die occ db:add-missing-indices --helpAusgabe dieser Version und überspringen Sie die Vorschau, anstatt anzunehmen, dass die Option vorhanden ist.

Die offizielle Sicherungsanleitung listet die Datenbank, die Konfiguration, das Datenverzeichnis und weitere Installationskomponenten auf, die für eine vollständige Sicherung aufbewahrt werden sollten. Erstellen Sie für diese Schemaoperation mindestens eine getestete Datenbanksicherung gemäß der für Ihre Datenbank geeigneten Vorgehensweise.

Schritt 1: Öffnen Sie eine Shell in der Nextcloud-Installation

Bei einer herkömmlichen Linux-Installation verbinden Sie sich per SSH mit dem Server und wechseln in das Nextcloud-Verzeichnis. Ein gängiger Ubuntu-Pfad ist `/usr/local/nextcloud` /var/www/nextcloud, verwenden Sie jedoch den Pfad auf Ihrem Server.

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

Vergewissern Sie sich, dass die Statusausgabe die erwartete installierte Instanz anzeigt. Wenn Sie für den Webserver eine andere PHP-Binärdatei als die Standard-PHP-Binärdatei der Shell verwenden php, verwenden Sie dieselbe kompatible PHP-Version occ. Die Ausführung occals HTTP-Benutzer trägt dazu bei, die erwarteten Dateibesitzverhältnisse und Berechtigungen beizubehalten.

Schritt 2: Vorschau der Indexänderungen

Sofern Ihre installierte Version dies unterstützt, führen Sie zunächst einen Testlauf durch:

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

Der Testlauf zeigt die SQL-Anweisungen in der Vorschau an, ohne sie anzuwenden. Lesen Sie die Ausgabe und prüfen Sie, ob sie die fehlenden Indizes betrifft, die Sie reparieren möchten. Falls die Ausgabe eine Ihnen unbekannte Tabelle oder einen unbekannten Index enthält, notieren Sie sich den genauen Namen und prüfen Sie, ob die entsprechende Anwendung installiert und aktuell ist. Fügen Sie die SQL-Anweisungen aus der Vorschau nicht als Abkürzung in die Datenbankkonsole ein.

Schritt 3: Fehlende Indizes hinzufügen

Wenn die Vorschau erwartet wird und die Sicherung bereit ist, führen Sie den dokumentierten Reparaturbefehl aus:

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

Der Befehl prüft Datenbanktabellen und erstellt Indizes, die im Schema definiert, aber in der aktuellen Installation nicht vorhanden sind. Warten Sie, bis der Vorgang abgeschlossen ist. Bei großen Datenbanken kann dies einige Zeit dauern. Unterbrechen Sie den Vorgang nicht, während das Schema geändert wird. Laut Nextcloud-Dokumentation kann dieser Befehl ausgeführt werden, während die Instanz online bleibt; der Wartungsmodus ist für diese Reparatur nicht erforderlich. Befolgen Sie Ihren eigenen Änderungsmanagementprozess, falls ein Wartungsfenster erforderlich ist.

Docker und andere Installationstypen

Bei einer containerisierten Bereitstellung führen Sie die Anwendung occinnerhalb des Nextcloud-Anwendungscontainers und nicht im Datenbankcontainer aus. Container- und Dienstnamen variieren, überprüfen Sie daher Ihre Bereitstellung und ersetzen Sie den Namen durch den korrekten. Für einen Docker-Container mit dem Namen „<Docker-Containername>“ nextcloudlautet das Muster:

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

Für Docker Compose lautet das entsprechende Muster docker compose exec -u www-data <nextcloud-service> php occ db:add-missing-indices. Einige Paketbereitstellungen verwenden einen speziellen Befehl oder einen anderen Containerbenutzer; befolgen Sie die Anweisungen für das jeweilige Paket. Kopieren Sie niemals einen Containernamen aus der Konfiguration einer anderen Person, ohne ihn vorher zu überprüfen.

Wenn der Befehl fehlschlägt oder die Warnung bestehen bleibt

  • Zugriff verweigert: Überprüfen Sie den HTTP-Benutzer und den Installationspfad. Führen Sie den Befehl nicht als Root aus, es sei denn, Ihre Bereitstellungsdokumentation erfordert ausdrücklich einen privilegierten Wrapper; der PHP-Prozess sollte im Allgemeinen als Webserver-Benutzer ausgeführt werden.
  • Datenbankverbindungs- oder PHP-Fehler: Überprüfen Sie das Nextcloud-Protokoll, den Zustand des Datenbankdienstes, die konfigurierte PHP-Version und die Befehlsausgabe. Beheben Sie das zugrunde liegende Verbindungs- oder Laufzeitproblem, bevor Sie den Schema-Befehl erneut ausführen.
  • Fehler aufgrund doppelter Schlüssel oder fehlendem eindeutigen Index: Halten Sie den Vorgang an und notieren Sie sich den vollständigen Fehlertext. Dieser kann auf Konflikte zwischen Zeilen hinweisen, die die Erstellung eines eindeutigen Index verhindern. Identifizieren Sie die betroffene App und Tabelle, überprüfen Sie die App- und Nextcloud-Versionen und wenden Sie sich an den App-Entwickler oder einen mit der Datenbank vertrauten Administrator. Löschen Sie keine Zeilen oder Indizes ohne eine datenspezifische Diagnose und Datensicherung.
  • „Befehl nicht gefunden“ oder nicht unterstützte Option: Stellen Sie sicher, dass Sie die richtige Nextcloud-Installation verwenden und überprüfen Sie die Einstellungen php occ listals php occ help db:add-missing-indicesHTTP-Benutzer. Ältere Versionen bieten möglicherweise nicht alle neueren Optionen an.
  • Die Warnung „ Aktualisieren Sie die Administrationsübersicht nach erfolgreichem Abschluss des Befehls“ wird weiterhin angezeigt. Beachten Sie die genauen Index- und Tabellennamen der Warnung. Möglicherweise fehlen mehrere Indizes, es kann sich um einen neu eingeführten Index nach einem App-Update, einen fehlgeschlagenen Datenbankvorgang oder eine Schemaabweichung handeln, die dieser Befehl nicht beheben konnte.

Verwechseln Sie fehlende Indizes nicht mit fehlenden Spalten oder Primärschlüsseln. Nextcloud dokumentiert separate Befehle für diese Schemaänderungen, z. B. `setup_repair` db:add-missing-columnsund `setup_repair` db:add-missing-primary-keys. Führen Sie eine andere Reparatur nur dann durch, wenn die Administratorwarnung oder die versionsspezifische Dokumentation dies erfordert.

Ergebnis überprüfen

  1. Warten Sie, bis db:add-missing-indicesdie Vorgänge beendet und die Meldungen abgeschlossen sind, z. B.Done.
  2. Laden Sie die Administrationsübersicht neu und vergewissern Sie sich, dass die spezifische Warnung bezüglich des fehlenden Index verschwunden ist.
  3. Falls das Problem weiterhin besteht, vergleichen Sie die genauen Tabellen- und Indexnamen mit der Ausgabe des Befehls, anstatt ihn blind erneut auszuführen.
  4. Prüfen Sie das Nextcloud-Protokoll und den Datenbankstatus auf neue Fehler und vergewissern Sie sich anschließend, dass der normale Dateizugriff und die Anwendungen, die die betroffenen Tabellen verwenden, weiterhin funktionieren.
  5. Bewahren Sie die Sicherung so lange auf, bis die Instanz wieder normal funktioniert und Ihre Aufbewahrungsrichtlinie deren Löschung zulässt.

Die aktuelle Befehlssyntax finden Sie in der Nextcloud-Datenbank- und Indexbefehlsreferenz . Informationen zu Benutzer- und PHP-Anforderungen finden Sie unter „Verwendung des occ-Befehls“ und im Nextcloud-Backup-Leitfaden . Diese stabilen Seiten geben als aktuelles Handbuch Nextcloud Server 35 an (Stand: 6. Oktober 2026). Pfade, Optionen und Paketierungsanweisungen können in anderen Versionen oder Bereitstellungstypen abweichen.

Einen Kommentar hinterlassen

Hohe CPU-Auslastung in Jitsi Meet auf Client-Browsern beheben

Hohe CPU-Auslastung in Jitsi Meet auf Client-Browsern beheben

Diagnostizieren Sie CPU-Spitzen im Jitsi Meet-Browser und reduzieren Sie die Clientlast, indem Sie Videokacheln, Kameraeffekte, Browsergrafiken und Host-Einstellungen überprüfen.

Wie man Jitsi Videobridge-Metriken mit Prometheus und Grafana überwacht

Wie man Jitsi Videobridge-Metriken mit Prometheus und Grafana überwacht

Verfolgen Sie den Status von Jitsi Videobridge, die Konferenzlast und den Datenverkehr mit dem integrierten Prometheus-Endpunkt und analysieren und visualisieren Sie die Daten anschließend in Grafana.

So konfigurieren Sie einen benutzerdefinierten Domänennamen für Jitsi Meet Docker

So konfigurieren Sie einen benutzerdefinierten Domänennamen für Jitsi Meet Docker

Konfigurieren Sie eine benutzerdefinierte Domain für Jitsi Meet Docker mit DNS, PUBLIC_URL, HTTPS, Let's Encrypt, Firewall-Ports, NAT-Einstellungen und Ende-zu-Ende-Verifizierung.

Behebung des Zimbra-Administrationskonsolenfehlers 404 (Nicht gefunden) nach SSL-Erneuerung

Behebung des Zimbra-Administrationskonsolenfehlers 404 (Nicht gefunden) nach SSL-Erneuerung

Beheben Sie 404-Fehler in der Zimbra-Administrationskonsole nach der SSL-Erneuerung, indem Sie die korrekte URL und den Port, das Proxy-Routing, den Dienststatus, die bereitgestellten Zertifikate und die Protokolle überprüfen.

Nextcloud-Warnung „Der PHP OPcache ist nicht ordnungsgemäß konfiguriert“ beheben

Nextcloud-Warnung „Der PHP OPcache ist nicht ordnungsgemäß konfiguriert“ beheben

Erfahren Sie, wie Sie die PHP OPcache-Konfigurationswarnung von Nextcloud diagnostizieren und beheben können, indem Sie die aktive PHP SAPI, Größenbeschränkungen, Kommentare und Revalidierungseinstellungen überprüfen.

Behebung von Kopano-Datenbankmigrationsfehlern nach einem MySQL-Versionsupgrade

Behebung von Kopano-Datenbankmigrationsfehlern nach einem MySQL-Versionsupgrade

Beheben Sie Probleme bei der Migration der Kopano-Datenbank nach einem MySQL- oder MariaDB-Upgrade, indem Sie Backups, Serverversionen, SQL-Modi, Zeichensatz, Schemastatus und Protokolle überprüfen.

So konfigurieren Sie die LDAP- und Active Directory-Authentifizierung in Nextcloud

So konfigurieren Sie die LDAP- und Active Directory-Authentifizierung in Nextcloud

Verbinden Sie Nextcloud mit LDAP oder Active Directory über sichere Transportwege, Benutzer- und Gruppenfilter, Anmeldeattribute und einen getesteten Rollout.

Android-Benachrichtigungen ohne Google-Dienste reparieren: UnifiedPush-Anleitung

Android-Benachrichtigungen ohne Google-Dienste reparieren: UnifiedPush-Anleitung

Beheben Sie Probleme mit Element-Android-Benachrichtigungen auf Google-freien Telefonen durch die Konfiguration von UnifiedPush, Android-Berechtigungen, Akkueinstellungen und zuverlässigen Verifizierungstests.

Beheben Sie die Nextcloud-Warnung „Datenbank enthält nicht alle Indizes“.

Beheben Sie die Nextcloud-Warnung „Datenbank enthält nicht alle Indizes“.

Die Warnung bezüglich fehlender Datenbankindizes in Nextcloud lässt sich mit dem offiziellen Befehl `occ` beheben. Sichern Sie Ihre Daten vorher, überprüfen Sie die Änderungen in der Vorschau, führen Sie die Reparatur durch und prüfen Sie das Ergebnis.

So konfigurieren Sie Single Sign-On (SSO) mit Keycloak in Element Web

So konfigurieren Sie Single Sign-On (SSO) mit Keycloak in Element Web

Konfigurieren Sie Keycloak SSO für Element Web, indem Sie OIDC mit Synapse verbinden, die genaue Callback-URL festlegen, Benutzeransprüche zuordnen und den Logout testen.