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

Die 10 besten Ping-Sweep-Tools zum Auffinden von Geräten in Ihrem Netzwerk

Die 10 besten Ping-Sweep-Tools zum Auffinden von Geräten in Ihrem Netzwerk

Vergleichen Sie 10 Ping-Sweep-Tools für die schnelle LAN-Erkennung, plattformübergreifende Scans und IP-Adressverwaltung. Erfahren Sie, was ein Sweep liefern kann – und was nicht.

Die 6 besten Netzwerkmanagement-Tools zur Leistungsüberwachung

Die 6 besten Netzwerkmanagement-Tools zur Leistungsüberwachung

Vergleichen Sie sechs Netzwerkmanagement-Tools für die Leistungsüberwachung, einschließlich SNMP-Abdeckung, Mapping, Warnmeldungen, Bereitstellungsmodelle und Kosten-Nutzen-Verhältnisse.

Die besten WLAN-Analysatoren für Windows, iOS und Android

Die besten WLAN-Analysatoren für Windows, iOS und Android

Vergleichen Sie die besten Wi-Fi-Analyseprogramme für Windows, iPhone und Android, einschließlich Tools für Kanalüberlastung, Signalabdeckung, Heatmaps und Netzwerk-Fehlerbehebung.

QoS in Netzwerken: Was Quality of Service bewirkt und wie es funktioniert

QoS in Netzwerken: Was Quality of Service bewirkt und wie es funktioniert

Erfahren Sie, was QoS in der Netzwerktechnik bedeutet, wie DSCP-Markierungen und Datenverkehrswarteschlangen Sprach-, Video- und Geschäftsanwendungen priorisieren und was QoS nicht beheben kann.

Beste SFTP-Server-Software für sichere Dateiübertragungen

Beste SFTP-Server-Software für sichere Dateiübertragungen

Vergleichen Sie zuverlässige SFTP-Server-Software für Windows und Linux, darunter OpenSSH, Bitvise, SolarWinds und SFTPGo. Finden Sie die passende Lösung für Ihre Sicherheits- und Dateitransferanforderungen.

Die 10 besten Tools zum Scannen und Analysieren drahtloser Geräte für Windows, iOS und Android

Die 10 besten Tools zum Scannen und Analysieren drahtloser Geräte für Windows, iOS und Android

Vergleichen Sie 10 Tools zum Scannen und Analysieren drahtloser Netzwerke für Windows, iOS und Android mit klaren Hinweisen zu Wi-Fi-Kanälen, Abdeckungskarten, LAN-Prüfungen und Plattformbeschränkungen.

Bewährte Methoden für die Netzwerküberwachung: Was sollte überwacht werden und welche Tools eignen sich?

Bewährte Methoden für die Netzwerküberwachung: Was sollte überwacht werden und welche Tools eignen sich?

Erstellen Sie eine praktische Netzwerküberwachung mit klarer Geräteabdeckung, nützlichen Leistungskennzahlen, umsetzbaren Warnmeldungen und einem Vergleich von SolarWinds NPM, PRTG und OpManager.

Die 7 besten IP-Adressverwaltungstools für Netzwerkteams

Die 7 besten IP-Adressverwaltungstools für Netzwerkteams

Vergleichen Sie sieben IP-Adressverwaltungstools für Subnetzerkennung, DNS- und DHCP-Koordination, Netzwerkinventarisierung und Open-Source-IPAM.

Die 10 besten Netzwerk-Scanner-Tools zur Erkennung von Geräten und IPs

Die 10 besten Netzwerk-Scanner-Tools zur Erkennung von Geräten und IPs

Vergleichen Sie Netzwerk-Scanner-Tools für die schnelle Geräteerkennung, plattformübergreifende IP-Scans und Enterprise IPAM mit Hinweisen zur Auswahl der passenden Option für Ihr Netzwerk.

Wie man Nmap für Traceroute verwendet und den Netzwerkpfad liest

Wie man Nmap für Traceroute verwendet und den Netzwerkpfad liest

Verwenden Sie die Option --traceroute von Nmap, um Hops einem autorisierten Host zuzuordnen, die Hop- und RTT-Ausgabe zu verstehen und fehlende Antworten zu beheben, ohne übermäßig zu scannen.