Risolvi l'avviso di Nextcloud relativo agli indici del database mancanti.

Elimina l'avviso di Nextcloud "Database con indici mancanti" eseguendo il comando occ db:add-missing-indicescome utente del server web dall'installazione corretta di Nextcloud. Il comando aggiunge gli indici definiti da Nextcloud o dalle app installate ma mancanti nel database; nella documentazione di Nextcloud 35, --dry-runviene visualizzata un'anteprima del codice SQL prima dell'esecuzione.

Panoramica dell'amministrazione in stile Nextcloud con un avviso arancione che indica la mancanza di alcuni indici nel database.
L'avviso viene visualizzato nella Panoramica di amministrazione quando Nextcloud rileva indici mancanti nello schema del database.

Cosa significa l'avvertimento

Un indice di database è una struttura di ricerca che aiuta il database a trovare le righe senza dover scansionare l'intera tabella. Nextcloud e le sue app a volte aggiungono indici per migliorare le query. Un aggiornamento potrebbe lasciare questo compito all'amministratore, poiché la creazione di un indice su una tabella di grandi dimensioni può richiedere tempo e influire sulle prestazioni durante l'esecuzione. L'avviso di indice mancante è solitamente un promemoria di manutenzione, non la prova che i file o i record del database siano danneggiati.

La documentazione attuale sui comandi del database di Nextcloud descrive db:add-missing-indicesl'aggiunta di indici presenti nello schema previsto ma assenti nell'installazione corrente. Il manuale documenta anche --dry-runl'anteprima delle istruzioni SQL. Gli indici esatti dipendono dalla versione di Nextcloud e dalle app installate.

Prepara il server

  • Verifica quale istanza di Nextcloud mostra l'avviso, soprattutto se gestisci ambienti di staging e produzione o più di un container.
  • Assicurati che esista un backup recente del database e che tu sappia come ripristinarlo. Questo comando modifica la struttura del database. Non modificare o eliminare manualmente gli indici come alternativa.
  • Si consiglia di eseguire il comando quando il carico del database è gestibile. Il server può rimanere online durante questa operazione, secondo le linee guida di aggiornamento di Nextcloud, ma l'indicizzazione di una tabella di grandi dimensioni può richiedere tempo e influire temporaneamente sulla velocità di risposta.
  • Individua la directory di installazione di Nextcloud, la versione di PHP CLI utilizzata dal server web e l'account del sistema operativo del server web. L'account è spesso presente www-datasu Debian o Ubuntu, apachesu Fedora o CentOS e httpsu Arch Linux.

La guida OCC di Nextcloud spiega che occsi tratta dell'interfaccia a riga di comando del server e deve essere eseguita come utente HTTP affinché la proprietà e i permessi dei file rimangano invariati. Non utilizzarla www-dataindiscriminatamente se la tua installazione utilizza un account diverso.

Visualizza in anteprima e aggiungi gli indici mancanti

Per un'installazione standard da archivio su Debian o Ubuntu, apri una shell sul server Nextcloud e spostati nella directory contenente il occfile. Questo esempio utilizza /var/www/nextcloud; il tuo percorso potrebbe essere diverso.

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

La simulazione stampa il codice SQL che verrebbe eseguito senza modificare il database. Leggi l'output e verifica che corrisponda all'operazione di manutenzione prevista. L' --dry-runopzione è documentata nel manuale corrente di Nextcloud 35; se una versione precedente non la supporta, consulta la guida ai comandi di quella versione anziché rimuovere le opzioni a caso.

Un terminale Linux che mostra il comando Nextcloud OCC missing-index con l'opzione dry-run
Utilizza l'opzione di simulazione documentata per esaminare il codice SQL prima di apportare modifiche al database.

Quando sei pronto ad applicare la modifica, esegui il comando senza --dry-run:

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

Nextcloud controlla le tabelle pertinenti e segnala l'avanzamento. Lascia che il processo termini; non interromperlo solo perché una tabella di grandi dimensioni richiede più tempo del previsto. Il manuale di aggiornamento elenca questo comando tra le attività di schema più lunghe che possono essere eseguite mentre l'istanza rimane online, quindi normalmente non è necessario abilitare la modalità di manutenzione per questa riparazione. Evita di eseguire contemporaneamente operazioni di manutenzione del database mentre sono in corso.

Un terminale Linux che mostra il comando missing-index che controlla la tabella filecache e termina con Done
Il comando controlla le tabelle del database e ritorna alla shell al termine dell'operazione.

Se Nextcloud viene eseguito in Docker

Eseguire il comando occnel container dell'applicazione Nextcloud, non nel container del database separato. Per un container denominato nextcloudcon l' www-dataaccount standard, il comando è generalmente il seguente:

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

Sostituisci nextcloudcon il nome effettivo del contenitore della tua applicazione. Se l'immagine o la distribuzione utilizza un utente del contenitore, un binario PHP o un wrapper di comandi diverso, segui la documentazione di tale immagine e mantieni il comando in esecuzione come utente HTTP.

Verifica che l'avviso sia scomparso.

Al termine del comando, aggiorna le impostazioni di amministrazione > Panoramica . Il messaggio relativo agli indici mancanti dovrebbe scomparire non appena il controllo di Nextcloud li riconosce. Puoi anche rieseguire il comando; dovrebbe terminare senza che sia necessario aggiungere nuovamente gli stessi indici mancanti. Questo conferma che il controllo dello schema è stato aggiornato, sebbene non misuri le prestazioni complessive del database.

Panoramica dell'amministrazione in stile Nextcloud, senza più l'avviso di indice mancante.
Aggiorna la Panoramica di amministrazione al termine del comando e verifica se l'avviso del database è scomparso.

Se l'avvertimento persiste

  1. Verifica di aver eseguito il comando sulla stessa installazione di Nextcloud e sullo stesso database che hanno generato l'avviso. Un errore comune è quello di eseguirlo in un container di manutenzione, in un'istanza di staging o in un container di database.
  2. Verifica che il comando sia stato eseguito con l'utente corretto del server web e che utilizzi la stessa versione di PHP del server web. Nextcloud segnala che una configurazione diversa di PHP tramite CLI può causare occerrori.
  3. Su Nextcloud 35 e versioni successive, eseguire il comando sudo -E -u www-data php occ db:schema:checkper verificare le differenze di schema. La documentazione attuale indica che questo controllo è stato aggiunto nella versione 35. Nelle versioni precedenti, utilizzare gli strumenti di diagnostica documentati per quella specifica versione.
  4. Se l'indice mancante appartiene a un'app di terze parti o il comando segnala un errore, aggiorna l'app se è disponibile un aggiornamento, esamina il log di Nextcloud e l'output del comando e chiedi al manutentore dell'app o all'assistenza di Nextcloud i nomi esatti dell'indice e della tabella. Non eseguire CREATE INDEXistruzioni scritte manualmente a meno che il manutentore dell'app o del database non le fornisca per il tuo schema specifico.

Per un server di produzione, conservare il backup del database fino a quando l'avviso non viene rimosso e l'applicazione non funziona normalmente. La guida all'aggiornamento di Nextcloud illustra l'attività di manutenzione online e la prova a secco facoltativa.

Lascia un commento

Risolvi l'avviso di Nextcloud relativo agli indici del database mancanti.

Risolvi l'avviso di Nextcloud relativo agli indici del database mancanti.

Esegui in modo sicuro la riparazione OCC di Nextcloud, visualizza in anteprima le modifiche al database e verifica il motivo per cui l'avviso potrebbe persistere.

Aumentare il limite di caricamento web di Nextcloud oltre i 2 GB

Aumentare il limite di caricamento web di Nextcloud oltre i 2 GB

Consenti il ​​caricamento di file di dimensioni maggiori nel browser Nextcloud allineando le impostazioni di PHP, Nginx o Apache, dello spazio di archiviazione temporaneo e del timeout, e verifica quale limite sta bloccando il file.

Rimuovi l'avviso di memoria PHP di Nextcloud sul server web

Imposta il limite di memoria PHP effettivamente utilizzato da Nextcloud, riavvia il servizio corretto e conferma l'impostazione di 512 MB nella Panoramica di amministrazione.

Collega un bucket compatibile con S3 allo storage esterno di Nextcloud.

Monta un bucket di object storage compatibile in Nextcloud utilizzando il suo backend S3, con l'endpoint, le credenziali, l'ambito di accesso e i passaggi di verifica corretti.

Spostare i dati di Nextcloud su un'unità esterna senza interrompere lo storage

Spostare i dati di Nextcloud su un'unità esterna senza interrompere lo storage

Spostare in modo sicuro una directory di dati Nextcloud su Linux verso un'unità esterna utilizzando un mount UUID persistente, la modalità di manutenzione, una copia verificata e il collegamento simbolico del percorso originale.

Errore del database di Nextcloud dopo un aggiornamento: cosa controllare per prima cosa

Ripristina l'accesso a Nextcloud dopo un aggiornamento diagnosticando gli errori SQL, verificando la connettività del database e completando in sicurezza le migrazioni interrotte.

Reimpostare una password di amministratore Nextcloud persa con OCC

Utilizza il comando OCC di Nextcloud per reimpostare la password di un amministratore dalla shell del server, con indicazioni per nomi utente, autorizzazioni e provider di accesso esterni.

Aggiungere l'intestazione HSTS all'endpoint HTTPS che serve Nextcloud

Elimina l'avviso HSTS di Nextcloud impostando l'intestazione su Apache, NGINX o sul tuo proxy TLS, quindi verifica in modo sicuro la risposta HTTPS pubblica.

Risoluzione dei problemi relativi all'installazione dell'app Nextcloud che segnala l'assenza di connessione a Internet.

Risoluzione dei problemi relativi all'installazione dell'app Nextcloud che segnala l'assenza di connessione a Internet.

Individuare le cause degli errori di installazione dell'App Store riconducibili a problemi di DNS, HTTPS, proxy, TLS o di configurazione del server Nextcloud stesso.

Gestisci i picchi di utilizzo della CPU nell'anteprima di Nextcloud con una coda pianificata.

Sposta il lavoro sulle miniature in una pianificazione in background controllata, ridimensiona le anteprime non utilizzate e verifica la coda senza sovraccaricare il server Nextcloud.