Datenbank-Indizies-Fehler ohne SSH-Zugriff korrigieren

Hallo zusammen

Ich habe auf einem Shared-Hosting die Nextcloud von 14.0.3 auf 14.0.4 aktualisiert und nun den folgenden Datenbank-Indizies-Fehler bekommen:

In der Datenbank fehlen einige Indizes. Auf Grund der Tatsache, dass das hinzufĂŒgen von Indizes in großen Tabellen einige Zeit in Anspruch nehmen wird, wurden diese nicht automatisch erzeugt. Durch das AusfĂŒhren von “occ db:add-missing-indices” können die fehlenden Indizes manuell hinzugefĂŒgt werden, wĂ€hrend die Instanz weiter lĂ€uft. Nachdem die Indizes hinzugefĂŒgt wurden, sind Anfragen auf die Tabellen normalerweise schneller.
Fehlender Index “fs_mtime” in der Tabelle “oc_filecache”.

Ich habe schon versucht die Lösung per SSH-Zugriff durchzufĂŒhren, habe aber nicht genug Rechte und Befehle seitens Hoster zur VerfĂŒgung, um dies so zu bereinigen.

Hat man allenfalls auch die Möglichkeit diesen Fehler direkt via Datenbank bereinigen kann oder in den Files selbst?

Danke euch fĂŒr eure UnterstĂŒtzung.

eine lösung: How can I run run occ db:add-missing-indices on shared hosting

Hallo Reiner,

danke dir fĂŒr diese Lösung.
Hab sie probiert, leider erkennt das die Nextcloud nicht dies.
Hat Nextcloud allenfalls noch Probleme mit dem PHP 7.2 und der Erkennung der einzelnen PHP-Direktiven?
Hab auch das Problem das der OPCache nicht erkannt wird (ist komplett alles aktiviert).

Hab den folgenden Befehl ausgefĂŒhrt:
/opt/php72/bin/php -d memory_limit=1G /[Pfad zur Cloud]/ occ db:add-missing-indices

Hier weitere zur Nextcloud und Server:
Version Nextcloud: 14.0.4
Server: Plesk 17.8.11
Verwendete PHP-Version: 7.2

Hat jemand noch ne Idee, wo das Problem liegen könnte?

Hallo miteinander - ich sitze jetzt auch in diesem Problem-Boot

Allerdings habe ich weder einen SSH Zugriff, noch die Möglichkeit
einen CronJob laufen lassen zu können.
Zudem sind meine Kenntnisse diesbezĂŒglich nicht wirklich brauchbar.

Da in den Fehlerhinweisen von “großen Tabellen” die Rede ist stellt sich mir die Frage,
ob es fĂŒr kleine Projekte wie meine ĂŒberschaubare Familien-Cloud mit 4 Usern evt. eine
Variante ĂŒber die WeboberflĂ€che gibt?
Oder kann ich diese Idizes selber irgendwie in die Datenbank eintragen?

Wenn es hier keine Alternative gibt wĂŒrde Nextcloud damit den kleinen privat-User irgendwie ausschließen. Das wĂ€re echt schade.

Scheinbar gibt es fĂŒr uns “Normal-User” wirklich keine Lösung fĂŒr dieses Datenbankproblem?! :disappointed_relieved:

Und wenn ich mir Àhnliche ForenbeitrÀge so ansehe sind die Macher der Nextcloud wohl allen ernstes der Meinung, dass man (ich) in der Lage sein muss, einen SSH-Account zu haben und diesen auch zu hÀndeln.

Fraglich, ob sich damit die Akzeptanz fĂŒr die schöne Idee einer eigenen Cloud weiterhin in die Breite tragen lĂ€ĂŸt. :thinking:

Beim Support meines Providers bin ich im ĂŒbrigen ebenfalls abgeblitzt und wenn ich ĂŒber die einschlĂ€gigen Foren keine machbare Lösung fĂŒr mich finde bin damit auf mich alleine gestellt.

Es scheint hier muss ein Script dazu aufgesetzt fĂŒr dieses Problem.
Da muss man mal nen Issue machen auf GitHub, damit dies entsprechend aufgebaut wird.

ist leider so, ich lasse die Meldungen inzwischen wo sie sind, ist einfach schade, aber nicht zu Ă€ndern. FĂŒr “Normal-User” gibt es an mehrere Stellen leider keine Lösung ausser zu warten ob es mit einer nĂ€chsten Version geht.

1 Like

Hallo,

ich lege die Indizies in der Datenbank (ĂŒber phpMyAdmin / mySqlAdmin) selbst an. Das geht relativ simpel und funktioniert einwandfrei. SSH habe ich nicht und der Cronjob ging auch nicht. Somit die einzige Lösung nach einem Update.

Wenns euch genauer interessiert, kann ich die Schritte gerne genauer erlÀutern :slight_smile:

Gruß
An Dy

Hallo An_Dy,

ja gerne, ich habe immer noch die Problematik nicht gelöst.
Kannst du uns die Schritte beschreiben?

Gruss
developics

1 Like

Das wĂŒrde mich auch sehr interessieren. Wenn ich dazu keine gute Lösung finde, dann muss ich mich wohl von dem Projekt der Selbstadministration verabschieden.

1 Like

Hallo,

benötigt wird der Zugriff auf die Datenbank selbst. Im Regelfall ĂŒber domain.de/mysqladmin bzw. ĂŒber euren Hoster (all-inkl.com, etc
) im Kundencenter. Dort loggt ihr euch mit euren Zugangsdaten ein.
Nun schaut ihr in Nextcloud unter “Einstellungen -> Übersicht” welche Tabelle betroffen ist.
Beispiel:

Fehlender Index “twofactor_providers_uid” in der Tabelle “f8aeE_twofactor_providers”.

Nun sucht ihre diese Tabelle in eurer Datenbank und öffnet diese durch einen Klick. Anschließend auf “Struktur” (orangener Kreis).


Ihr klickt nun auf “OK” (grĂŒner Kreis) und gebt den Indexname aus der Nextcloud-Meldung in das erste Feld ein und wĂ€hlt im zweiten Feld “INDEX” aus (rot unterstrichen). Anschließend wieder auf “OK” (roter Kreis).
Danach wieder in die Übersicht der Datenbank zurĂŒck und mit den anderen Meldungen exakt so fortfĂŒhren. Nun sollte diese “Warnung” aus Nextcloud verschwinden.

Ich hatte damit bislang immer Erfolg. Muss leider nach jedem Update durchgefĂŒhrt werden, wenn Indizies fehlen.

3 Likes

Hallo An_Dy,

super danke dir, es hat geklappt.

Gruss
developics

1 Like

Habe eine Instanz bei pixelx, nach dem Update zu Version 20 gibt es ein paar Meldungen zur Aktualisierung der Datenbank.
Das Thema kommt in der Anleitung etwas zu Kurz:
https://www.pixelx.de/hilfe/thema-nextcloud-update.html

Alle Lösungen, die ich hier gesehen habe stehen habe per phpMyAdmin und Cron Job, stehen mir auf der NextCloud Admin Seite ja nicht zur VerfĂŒgung. :pensive:

Hallo Andre

Da gibts seitens nextcloud selbst keine andere Möglichkeit diese Fehler zu bereinigen.

Du mĂŒsstest daher pixelx bitten diese Meldungen zu bereinigen. Umgehen kann man dies nicht anderst

Herzlichen Dank fĂŒr diese Anleitung! Hat auch im Februar 2022 mit Nextcloud 22.2.3. bei All-Inkl einwandfrei funktioniert.

Hi,
Danke fĂŒr die Anleitung. Ich habe auf unserer Cloud beim Webhoster auch das Problem nach de Update auf 22.2.5. Leider habe ich aktuell keinen user/root Zugang zum Server. phpMyAdmin geht aber. Wie wĂ€hle ich die richtige Spalte fĂŒr den Index aus?
Aktuell fehlt z.B. “fs_storage_path_prefix” in der Tabelle “xxx_file_cache” . Es gibt die Spalten “storage” und “path” (und einige mehr) die in Frage kĂ€men?

Weitere Frage : Wie riskant ist das Ganze? Ich habe das alles erst eingerichtet, und wĂŒrde das ungern zerschießen. Wie ich ein gesamtes Backup machen kann erschließt sich mir auch noch nicht ganz (inkl. Datenbank).

Vielen Dank
//hufnala

Vielleicht kannst du einen eigenen Thread eröffnen, deine genauen Details (Fehlermeldungen) dort posten und gerne auf diesen Thread verlinken. Dann kann dir vielleicht besser geholfen werden.

Riskant ist das ganze gar nicht. Du solltest grundsĂ€tzlich - wenn du eine “wichtige” Nextcloud betreibst - wissen wie man ein Backup macht und ein Restore einspielt. Vorher einfach die ganze Datenbank sichern und im Fehlerfall wieder einspielen.

Unter UmstĂ€nden ist es sinnvoller eine Managed Nextcloud zu verwenden. Ich weiß ja nicht welchen Webhoster du verwendest und ob eine Managed Nextcloud eine Option ist. Aber fĂŒr wenige Euro und teilweise umsonst bekommst du einen Account von z. B. einigen GB. Wie sind deine genauen AnsprĂŒche? Dann sparst du dir auch diesen Ärger. Ich kann nur davon abraten auf einen Webspace Nextcloud zu betreiben und das ohne Kommandozeile.