Risolvi l'avviso di Nextcloud "Database con alcuni indici mancanti"

Aprendo la Panoramica di amministrazione di Nextcloud, viene visualizzato il messaggio: "Al database mancano alcuni indici". Questo avviso può comparire dopo un aggiornamento perché Nextcloud può aggiungere nuovi indici alle tabelle esistenti nel tempo e non sempre li crea automaticamente su database di grandi dimensioni. La mancanza di indici può rallentare alcune query del database. La procedura di riparazione supportata è il occ db:add-missing-indicescomando integrato.

Prima di modificare lo schema, verifica di eseguire il comando per l'installazione corretta di Nextcloud, effettua un backup del database e utilizza l'utente del sistema operativo del server web. Nelle versioni in cui il comando lo supporta, visualizza in anteprima il codice SQL proposto --dry-run. Quindi esegui la riparazione e controlla nuovamente la Panoramica di amministrazione.

Cosa significa l'avvertimento

Un indice di database è una struttura che aiuta il database a trovare le righe senza dover scansionare l'intera tabella. Nextcloud e le sue app definiscono indici per le tabelle e i campi che utilizzano. Quando una nuova versione di Nextcloud o di un'app introduce un indice che un'installazione esistente non possiede ancora, la pagina di amministrazione può segnalare l'incongruenza. Si tratta di un avviso di manutenzione dello schema; di per sé, non significa che il database sia danneggiato o che manchino file utente.

Il manuale di amministrazione di Nextcloud afferma che gli indici possono essere aggiunti nel tempo, anche per migliorare le prestazioni, e invita gli amministratori a eseguire occ db:add-missing-indicesil comando appropriato. L'aggiunta di un indice può richiedere tempo, soprattutto su tabelle di grandi dimensioni, e il carico del database o il comportamento di blocco possono variare a seconda del motore del database e del carico di lavoro. Se l'istanza è occupata, pianifica la modifica durante un periodo di minore attività.

Prima di eseguire la riparazione

  • Conferma il percorso di installazione e la versione. Esegui i comandi dalla directory contenente lo occscript di installazione desiderato oppure specifica il percorso completo.
  • Esegui il backup del database. Utilizza la tua normale procedura di backup per MariaDB/MySQL, PostgreSQL o SQLite. Verifica che il backup sia stato completato correttamente e di sapere come ripristinarlo.
  • Individua l'utente HTTP. Utilizza l'account che esegue il server web per Nextcloud. Esempi comuni sono www-dataDebian o Ubuntu, apacheFedora o CentOS, httpArch e wwwrunopenSUSE. La tua implementazione potrebbe essere diversa.
  • Verifica la presenza di opzioni di comando. Il manuale di amministrazione stabile di Nextcloud 35 le documenta --dry-run. Se la versione installata non le riconosce, consulta occ db:add-missing-indices --helpl'output di tale versione e salta l'anteprima anziché presumere che l'opzione esista.

La guida ufficiale al backup elenca il database, la configurazione, la directory dei dati e altri componenti di installazione che devono essere conservati per un backup completo. Per questa operazione sullo schema, eseguire come minimo un backup del database testato utilizzando la procedura appropriata per il proprio database.

Passaggio 1: Apri una shell nell'installazione di Nextcloud

Per un'installazione Linux tradizionale, connettiti al server tramite SSH e spostati nella directory di Nextcloud. Un percorso comune su Ubuntu è /var/www/nextcloud, ma usa il percorso sul tuo server.

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

Verificare che l'output di stato identifichi l'istanza installata prevista. Se si utilizza un binario PHP diverso per il server web rispetto a quello predefinito della shell php, utilizzare la stessa versione PHP compatibile occ. L'esecuzione occcome utente HTTP aiuta a preservare la proprietà e i permessi dei file previsti.

Passaggio 2: Visualizza in anteprima le modifiche all'indice

Se supportato dalla versione installata, esegui prima una simulazione:

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

La simulazione visualizza in anteprima le istruzioni SQL senza eseguirle. Leggi l'output e verifica che si riferisca agli indici mancanti che intendi riparare. Se l'output identifica una tabella o un indice che non riconosci, annota il nome esatto e verifica che l'applicazione corrispondente sia installata e aggiornata. Non incollare l'anteprima SQL nella console del database come scorciatoia.

Passaggio 3: Aggiungere gli indici mancanti

Quando l'anteprima è prevista e il backup è pronto, eseguire il comando di ripristino documentato:

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

Il comando controlla le tabelle del database e crea gli indici definiti nello schema ma mancanti nell'installazione corrente. Attendi il completamento dell'operazione. Su un database di grandi dimensioni, questa operazione può richiedere del tempo. Evita di interromperla durante la modifica dello schema. La documentazione di Nextcloud afferma che questo comando può essere eseguito mentre l'istanza rimane online; la modalità di manutenzione non è indicata come prerequisito per questa specifica riparazione. Segui la tua procedura di gestione delle modifiche se è necessaria una finestra di manutenzione.

Docker e altri tipi di installazione

In una distribuzione containerizzata, esegui il comando occall'interno del container dell'applicazione Nextcloud, non nel container del database. I nomi dei container e dei servizi variano, quindi controlla la tua distribuzione e sostituisci il nome corretto. Per un container Docker denominato nextcloud, il modello è:

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

Per Docker Compose, il modello corrispondente è docker compose exec -u www-data <nextcloud-service> php occ db:add-missing-indices. Alcune distribuzioni preconfigurate utilizzano un comando dedicato o un utente container diverso; utilizzare le istruzioni specifiche per quel pacchetto. Non copiare il nome di un container dalla configurazione di un'altra persona senza averlo verificato.

Se il comando fallisce o l'avviso persiste

  • Permesso negato: verificare l'utente HTTP e il percorso di installazione. Non risolvere il problema eseguendo il comando come root a meno che la documentazione della distribuzione non richieda espressamente un wrapper con privilegi elevati; il processo PHP dovrebbe generalmente essere eseguito come utente del server web.
  • Errore di connessione al database o PHP: controlla il log di Nextcloud, lo stato del servizio di database, la versione di PHP configurata e l'output del comando. Risolvi il problema di connessione o di runtime sottostante prima di eseguire nuovamente il comando dello schema.
  • Errore di chiave duplicata o di indice univoco: interrompi l'operazione e conserva il testo completo dell'errore. Potrebbe indicare righe in conflitto che impediscono la creazione di un indice univoco. Identifica l'app e la tabella interessate, verifica le versioni dell'app e di Nextcloud e consulta il manutentore dell'app o un amministratore che abbia familiarità con quel database. Non eliminare righe o indici senza una diagnosi specifica dei dati e un backup.
  • "Comando non trovato" o opzione non supportata: verifica di trovarti nell'installazione Nextcloud corretta e controlla php occ listcome php occ help db:add-missing-indicesutente HTTP. Le versioni precedenti potrebbero non esporre tutte le opzioni più recenti.
  • L'avviso continua a comparire: Aggiorna la panoramica di amministrazione anche dopo che il comando è terminato correttamente. Leggi attentamente i nomi esatti degli indici e delle tabelle indicati nell'avviso. Potrebbero mancare più indici, potrebbe essere stato introdotto un nuovo indice a seguito di un aggiornamento dell'app, potrebbe essersi verificata un'operazione del database non riuscita o un'incongruenza dello schema che questo comando non è riuscito a risolvere.

Non confondere gli indici mancanti con le colonne o le chiavi primarie mancanti. Nextcloud documenta comandi separati per queste modifiche allo schema, come db:add-missing-columnse db:add-missing-primary-keys. Esegui una riparazione diversa solo quando l'avviso dell'amministratore o la documentazione specifica della versione lo richiedono.

Verificare il risultato

  1. Attendi db:add-missing-indicesil completamento delle uscite e dei report, come ad esempioDone.
  2. Ricarica la Panoramica di amministrazione e verifica che l'avviso specifico relativo all'indice mancante sia scomparso.
  3. Se il problema persiste, confronta i nomi esatti di tabelle e indici con l'output del comando, anziché rieseguirlo alla cieca.
  4. Controlla il registro di Nextcloud e lo stato del database per individuare eventuali nuovi errori, quindi verifica che l'accesso normale ai file e le applicazioni che utilizzano le tabelle interessate funzionino correttamente.
  5. Conserva il backup finché l'istanza non avrà funzionato normalmente e la tua politica di conservazione non ne consentirà la rimozione.

Per la sintassi corrente dei comandi, consultare il riferimento ai comandi del database e dell'indice di Nextcloud . Per i requisiti utente e PHP, consultare Utilizzo del comando occ e la guida al backup di Nextcloud . Queste pagine stabili identificano il manuale corrente come Nextcloud Server 35 al 6 ottobre 2026; percorsi, opzioni e istruzioni di creazione dei pacchetti possono differire in altre versioni o tipi di distribuzione.

Lascia un commento

Come monitorare le metriche di Jitsi Videobridge con Prometheus e Grafana

Come monitorare le metriche di Jitsi Videobridge con Prometheus e Grafana

Monitora lo stato di salute, il carico della conferenza e il traffico di Jitsi Videobridge con il suo endpoint Prometheus integrato, quindi esplora e visualizza i dati in Grafana.

Come configurare un nome di dominio personalizzato per Jitsi Meet Docker

Come configurare un nome di dominio personalizzato per Jitsi Meet Docker

Configura un dominio personalizzato per Jitsi Meet Docker con DNS, URL pubblico, HTTPS, Let's Encrypt, porte del firewall, impostazioni NAT e verifica end-to-end.

Fix Zimbra Admin Console 404 Not Found After SSL Renewal

Fix Zimbra Admin Console 404 Not Found After SSL Renewal

Fix Zimbra Admin Console 404 errors after SSL renewal by checking the correct URL and port, proxy routing, service status, deployed certificates, and logs.

Risolvere l'avviso di Nextcloud "PHP OPcache non è configurato correttamente".

Risolvere l'avviso di Nextcloud "PHP OPcache non è configurato correttamente".

Scopri come diagnosticare e risolvere l'avviso di configurazione di PHP OPcache di Nextcloud controllando l'SAPI PHP attivo, i limiti di dimensionamento, i commenti e le impostazioni di riconvalida.

Risolvere gli errori di migrazione del database Kopano dopo un aggiornamento della versione di MySQL

Risolvere gli errori di migrazione del database Kopano dopo un aggiornamento della versione di MySQL

Risolvere i problemi di migrazione del database Kopano dopo un aggiornamento di MySQL o MariaDB verificando i backup, le versioni del server, le modalità SQL, il set di caratteri, lo stato dello schema e i log.

Come configurare l'autenticazione LDAP e Active Directory in Nextcloud

Come configurare l'autenticazione LDAP e Active Directory in Nextcloud

Collega Nextcloud a LDAP o Active Directory con trasporto sicuro, filtri per utenti e gruppi, attributi di accesso e un'implementazione collaudata.

Risolvere i problemi relativi alle notifiche di Element su Android senza i servizi Google: Guida a UnifiedPush

Risolvere i problemi relativi alle notifiche di Element su Android senza i servizi Google: Guida a UnifiedPush

Risolvi i problemi di notifiche di Element Android sui telefoni senza Google configurando UnifiedPush, le autorizzazioni Android, le impostazioni della batteria ed eseguendo test di verifica affidabili.

Risolvi l'avviso di Nextcloud "Database con alcuni indici mancanti"

Risolvi l'avviso di Nextcloud "Database con alcuni indici mancanti"

Risolvi l'avviso di Nextcloud relativo agli indici del database mancanti utilizzando il comando ufficiale occ. Prima di procedere, esegui un backup, visualizza in anteprima le modifiche, avvia la riparazione e verifica il risultato.

Come configurare il Single Sign-On (SSO) con Keycloak in Element Web

Come configurare il Single Sign-On (SSO) con Keycloak in Element Web

Configura l'SSO di Keycloak per Element Web collegando OIDC a Synapse, impostando l'URL di callback esatto, mappando le attestazioni utente e testando il logout.

Risolvere l'errore di avvio di Zimbra "Server LDAP non risponde": una guida pratica al ripristino

Risolvere l'errore di avvio di Zimbra "Server LDAP non risponde": una guida pratica al ripristino

Scopri come diagnosticare e risolvere gli errori di avvio di Zimbra causati da un server LDAP non responsivo, inclusi controlli dei servizi, DNS, porte, certificati, URL LDAP e convalida del ripristino.