Solucionar la advertencia de Nextcloud "Faltan algunos índices en la base de datos"

Al abrir la vista general de administración de Nextcloud, aparece el mensaje: «A la base de datos le faltan algunos índices». Esta advertencia puede aparecer después de una actualización, ya que Nextcloud puede agregar nuevos índices a las tablas existentes con el tiempo, y no siempre los crea automáticamente en bases de datos grandes. La falta de índices puede ralentizar algunas consultas a la base de datos. La solución recomendada es el comando integrado occ db:add-missing-indices.

Antes de modificar el esquema, confirme que está ejecutando el comando para la instalación correcta de Nextcloud, realice una copia de seguridad de la base de datos y utilice el usuario del sistema operativo del servidor web. En las versiones que lo admiten, previsualice el SQL propuesto con --dry-run. A continuación, ejecute la reparación y vuelva a consultar la Vista general de administración.

Qué significa la advertencia

Un índice de base de datos es una estructura que ayuda a la base de datos a encontrar filas sin escanear toda la tabla. Nextcloud y sus aplicaciones definen índices para las tablas y los campos que utilizan. Cuando una nueva versión de Nextcloud o de una aplicación introduce un índice que una instalación existente aún no tiene, la página de administración puede informar de la discrepancia. Se trata de una advertencia de mantenimiento del esquema; por sí sola, no significa que la base de datos esté dañada ni que falten archivos de usuario.

El manual de administración de Nextcloud indica que se pueden agregar índices con el tiempo, incluso para mejorar el rendimiento, y recomienda a los administradores ejecutar el comando correspondiente occ db:add-missing-indices. Agregar un índice puede llevar tiempo, especialmente en tablas grandes, y la carga de la base de datos o el comportamiento de bloqueo pueden variar según el motor de base de datos y la carga de trabajo. Si su instancia está ocupada, planifique el cambio durante un período de menor actividad.

Antes de ejecutar la reparación

  • Confirme la ruta de instalación y la versión. Ejecute los comandos desde el directorio que contiene el script de instalación previsto occo proporcione su ruta completa.
  • Realice una copia de seguridad de la base de datos. Utilice su procedimiento habitual de copia de seguridad para MariaDB/MySQL, PostgreSQL o SQLite. Verifique que la copia de seguridad se haya completado y que sepa cómo restaurarla.
  • Localiza el usuario HTTP. Utiliza la cuenta que ejecuta el servidor web de Nextcloud. Algunos ejemplos comunes son www-dataDebian o Ubuntu, apacheFedora o CentOS, httpArch y wwwrunopenSUSE. Tu implementación puede variar.
  • Compruebe las opciones de comando. Consulte el manual de administración estable de Nextcloud 35. --dry-runSi su versión instalada no lo reconoce, consulte occ db:add-missing-indices --helpla salida de esa versión y omita la vista previa en lugar de asumir que la opción existe.

La guía oficial de copias de seguridad enumera la base de datos, la configuración, el directorio de datos y otros componentes de instalación que deben conservarse para una copia de seguridad completa. Para esta operación de esquema, como mínimo, realice una copia de seguridad de la base de datos probada utilizando el procedimiento adecuado para su base de datos.

Paso 1: Abra una consola en la instalación de Nextcloud.

Para una instalación tradicional de Linux, conéctese al servidor mediante SSH y cambie al directorio de Nextcloud. Una ruta común en Ubuntu es /var/www/nextcloud, pero utilice la ruta en su servidor.

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

Confirme que la salida de estado identifique la instancia instalada esperada. Si utiliza un binario de PHP diferente para el servidor web que el predeterminado del shell php, utilice la misma versión compatible de PHP para occ. Ejecutar occcomo usuario HTTP ayuda a preservar la propiedad y los permisos de archivo esperados.

Paso 2: Previsualice los cambios en el índice.

Si su versión instalada lo permite, ejecute primero la prueba en seco:

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

La simulación muestra una vista previa de las sentencias SQL sin aplicarlas. Lea el resultado y confirme que se refiere a los índices faltantes que desea reparar. Si el resultado identifica una tabla o un índice que no reconoce, anote su nombre exacto y verifique si la aplicación correspondiente está instalada y actualizada. No pegue el código SQL previsualizado en la consola de la base de datos como acceso directo.

Paso 3: Añadir los índices que faltan

Cuando se espera la vista previa y la copia de seguridad está lista, ejecute el comando de reparación documentado:

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

El comando verifica las tablas de la base de datos y crea los índices definidos en el esquema, pero que faltan en la instalación actual. Deje que finalice. En una base de datos grande, esto puede tardar un tiempo. Evite interrumpirlo mientras modifica el esquema. La documentación de Nextcloud indica que este comando se puede ejecutar con la instancia en línea; el modo de mantenimiento no se menciona como requisito previo para esta reparación específica. Siga su propio proceso de control de cambios si requiere una ventana de mantenimiento.

Docker y otros tipos de instalación

En una implementación en contenedores, ejecute occdentro del contenedor de la aplicación Nextcloud, no en el contenedor de la base de datos. Los nombres de los contenedores y servicios varían, así que revise su implementación y sustituya el nombre correcto. Para un contenedor Docker llamado nextcloud, el patrón es:

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

Para Docker Compose, el patrón correspondiente es docker compose exec -u www-data <nextcloud-service> php occ db:add-missing-indices. Algunos despliegues empaquetados utilizan un comando específico o un usuario de contenedor diferente; siga las instrucciones de ese paquete en concreto. No copie el nombre de un contenedor de la configuración de otra persona sin verificarlo.

Si el comando falla o la advertencia persiste

  • Permiso denegado: Verifique el usuario HTTP y la ruta de instalación. No intente solucionar esto ejecutando el comando como root a menos que la documentación de su implementación requiera específicamente un envoltorio con privilegios; el proceso PHP generalmente debe ejecutarse como el usuario del servidor web.
  • Error de conexión a la base de datos o de PHP: revise el registro de Nextcloud, el estado del servicio de base de datos, la versión de PHP configurada y la salida del comando. Resuelva el problema subyacente de conexión o de tiempo de ejecución antes de volver a ejecutar el comando de esquema.
  • Error de clave duplicada o índice único: Deténgase y guarde el texto completo del error. Puede indicar filas conflictivas que impiden la creación de un índice único. Identifique la aplicación y la tabla afectadas, confirme las versiones de la aplicación y de Nextcloud, y consulte con el responsable del mantenimiento de la aplicación o con un administrador familiarizado con esa base de datos. No elimine filas ni índices sin un diagnóstico y una copia de seguridad específicos de los datos.
  • “Comando no encontrado” u opción no compatible: Confirme que se encuentra en la instalación correcta de Nextcloud y verifique php occ listcomo php occ help db:add-missing-indicesusuario HTTP. Es posible que las versiones anteriores no muestren todas las opciones más recientes.
  • La advertencia persiste: Actualice la vista general de administración después de que el comando finalice correctamente. Lea los nombres exactos de los índices y las tablas que aparecen en la advertencia. Es posible que falte más de un índice, que se haya introducido un índice nuevo tras una actualización de la aplicación, que haya fallado una operación de base de datos o que exista una discrepancia en el esquema que este comando no haya resuelto.

No confunda la falta de índices con la falta de columnas o claves primarias. Nextcloud documenta comandos específicos para estos cambios de esquema, como db:add-missing-columnsy db:add-missing-primary-keys. Ejecute una reparación diferente solo cuando la advertencia del administrador o la documentación específica de la versión lo indiquen.

Verificar el resultado

  1. Espere hasta que db:add-missing-indicesfinalicen las salidas y los informes, como por ejemplo:Done.
  2. Vuelva a cargar la vista general de administración y confirme que la advertencia específica sobre el índice faltante ha desaparecido.
  3. Si persiste, compare los nombres exactos de las tablas y los índices con la salida del comando en lugar de volver a ejecutarlo a ciegas.
  4. Comprueba el registro de Nextcloud y el estado de la base de datos para detectar nuevos errores y, a continuación, confirma que el acceso normal a los archivos y las aplicaciones que utilizan las tablas afectadas siguen funcionando.
  5. Conserve la copia de seguridad hasta que la instancia haya funcionado con normalidad y su política de retención permita su eliminación.

Para conocer la sintaxis actual de los comandos, consulte la referencia de comandos de base de datos e índice de Nextcloud . Para conocer los requisitos de usuario y PHP, consulte Uso del comando occ y la guía de copia de seguridad de Nextcloud . Estas páginas estables identifican el manual actual como Nextcloud Server 35, según la fecha de consulta del 6 de octubre de 2026; las rutas, las opciones y las instrucciones de empaquetado pueden variar en otras versiones o tipos de implementación.

Dejar un comentario

Solucionar la advertencia de Nextcloud "Faltan algunos índices en la base de datos"

Solucionar la advertencia de Nextcloud "Faltan algunos índices en la base de datos"

Solucione la advertencia de Nextcloud sobre índices de base de datos faltantes con el comando oficial occ. Primero, haga una copia de seguridad, previsualice los cambios, ejecute la reparación y verifique el resultado.

Cómo configurar el inicio de sesión único (SSO) con Keycloak en Element Web

Cómo configurar el inicio de sesión único (SSO) con Keycloak en Element Web

Configure el inicio de sesión único (SSO) de Keycloak para Element Web conectando OIDC a Synapse, estableciendo la URL de devolución de llamada exacta, asignando las reclamaciones de usuario y probando el cierre de sesión.

Solucionar el error de arranque de Zimbra "El servidor LDAP no responde": una guía práctica de recuperación.

Solucionar el error de arranque de Zimbra "El servidor LDAP no responde": una guía práctica de recuperación.

Aprenda a diagnosticar y solucionar los fallos de inicio de Zimbra causados ​​por un servidor LDAP que no responde, incluyendo comprobaciones de servicio, DNS, puertos, certificados, URL de LDAP y validación de recuperación.

Cómo configurar el almacenamiento de objetos S3 para ownCloud Infinite Scale

Cómo configurar el almacenamiento de objetos S3 para ownCloud Infinite Scale

Configure el almacenamiento de objetos compatible con S3 para ownCloud Infinite Scale utilizando el controlador s3ng, los metadatos POSIX, la política de buckets, la validación y las comprobaciones de seguridad para la producción.

Solucione el retraso en la cola de correo de Zimbra: vacíe Postfix de forma segura y verifique la entrega.

Solucione el retraso en la cola de correo de Zimbra: vacíe Postfix de forma segura y verifique la entrega.

Aprenda a inspeccionar la cola de mensajes de Zimbra Postfix, identificar los correos diferidos frente a los retenidos, ejecutar un vaciado seguro de la cola y verificar el progreso sin eliminar mensajes.

Cómo configurar Kopano Z-Push para la sincronización móvil ActiveSync

Cómo configurar Kopano Z-Push para la sincronización móvil ActiveSync

Configure Z-Push con Kopano para la sincronización segura de correo electrónico, contactos, calendario y tareas mediante ActiveSync. Compare las opciones de backend e implementación y, a continuación, verifique la configuración móvil.

Solucionar el problema de Jitsi Meet: "Te has desconectado" y caídas de conexión.

Solucionar el problema de Jitsi Meet: "Te has desconectado" y caídas de conexión.

Solucione los problemas de desconexión de Jitsi Meet con una lista de verificación práctica para navegadores, dispositivos móviles, redes inestables, cortafuegos y servidores autogestionados.

Solucionar problemas de calidad en las videollamadas de Nextcloud Talk y de conexión con el servidor TURN.

Solucionar problemas de calidad en las videollamadas de Nextcloud Talk y de conexión con el servidor TURN.

Solucione los problemas de calidad de las llamadas de Nextcloud Talk, configure coturn, abra los puertos correctos, pruebe los candidatos ICE y decida cuándo TURN o HPB es la solución adecuada.

Cómo alojar un cliente web de elementos personalizados en Nginx

Cómo alojar un cliente web de elementos personalizados en Nginx

Implementa Element Web en Nginx con un servidor principal personalizado, HTTPS, almacenamiento en caché y encabezados de seguridad, además de comprobaciones sencillas para detectar problemas de configuración comunes.

Solucionar el error de carga de presentaciones de BigBlueButton: “Tipo de archivo no compatible”

Solucionar el error de carga de presentaciones de BigBlueButton: “Tipo de archivo no compatible”

Solucione el error de presentación "Tipo de archivo no compatible" de BigBlueButton comprobando la extensión del archivo, exportando un PDF real, probando con otro archivo e identificando cuándo debe ponerse en contacto con un administrador.