Limpar aviso de índices de banco de dados ausentes do Nextcloud

Elimine o aviso "Banco de dados com alguns índices ausentes" do Nextcloud executando o comando occ db:add-missing-indicescomo o usuário do servidor web a partir da instalação correta do Nextcloud. O comando adiciona índices definidos pelo Nextcloud ou por aplicativos instalados, mas que estejam faltando no banco de dados; conforme a documentação atual do Nextcloud 35, o --dry-runcomando exibe uma prévia do SQL antes de ser executado.

Visão geral da administração no estilo Nextcloud com um aviso em amarelo indicando que o banco de dados está com alguns índices faltando.
O aviso aparece na Visão Geral da Administração quando o Nextcloud detecta índices ausentes em seu esquema de banco de dados.

O que significa o aviso

Um índice de banco de dados é uma estrutura de pesquisa que ajuda o banco de dados a encontrar linhas sem precisar percorrer a tabela inteira. O Nextcloud e seus aplicativos às vezes adicionam índices para melhorar as consultas. Uma atualização pode deixar essa tarefa para um administrador, pois a criação de um índice em uma tabela grande pode levar tempo e afetar o desempenho durante a execução. O aviso de índice ausente geralmente é um alerta de manutenção, não uma prova de que arquivos ou registros do banco de dados estejam corrompidos.

A documentação atual de referência de comandos do banco de dados do Nextcloud descreve db:add-missing-indicesa adição de índices que estão no esquema esperado, mas ausentes na instalação atual. O manual atual também documenta --dry-runa visualização de instruções SQL. Os índices exatos dependem da sua versão do Nextcloud e dos aplicativos instalados.

Preparar o servidor

  • Confirme qual instância do Nextcloud exibe o aviso, especialmente se você gerencia ambientes de teste e produção ou mais de um contêiner.
  • Certifique-se de que existe um backup recente do banco de dados e que você sabe como restaurá-lo. Este comando altera a estrutura do banco de dados. Não edite ou remova índices manualmente como alternativa.
  • Planeje executar o comando quando a carga do banco de dados estiver em um nível razoável. O servidor pode permanecer online durante essa operação, de acordo com as orientações de atualização do Nextcloud, mas a indexação de uma tabela grande pode levar tempo e afetar temporariamente a velocidade de resposta.
  • Localize o diretório de instalação do Nextcloud, a versão do PHP CLI usada pelo servidor web e a conta do sistema operacional do servidor web. Essa conta geralmente está www-dataem sistemas Debian ou Ubuntu, apacheem sistemas Fedora ou CentOS e httpem sistemas Arch Linux.

O guia do Nextcloud OCC explica que occeste é o terminal de linha de comando do servidor e deve ser executado como o usuário HTTP para que a propriedade e as permissões dos arquivos permaneçam consistentes. Não o utilize www-dataindiscriminadamente se a sua instalação usar uma conta diferente.

Visualize e adicione os índices ausentes.

Para uma instalação padrão de arquivos no Debian ou Ubuntu, abra um terminal no servidor Nextcloud e acesse o diretório que contém o occarquivo. Este exemplo usa /var/www/nextcloud; seu caminho pode ser diferente.

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

A simulação imprime o SQL que seria executado sem alterar o banco de dados. Leia a saída e confirme se é a operação de manutenção esperada. A --dry-runopção está documentada no manual atual do Nextcloud 35; se uma versão anterior a rejeitar, consulte a ajuda de comandos dessa versão em vez de remover opções aleatoriamente.

Um terminal Linux mostrando o comando Nextcloud OCC missing-index com a opção dry-run.
Utilize a opção de teste documentada para inspecionar o SQL antes de fazer uma alteração no banco de dados.

Quando estiver pronto para aplicar a alteração, execute o comando sem o ponto e vírgula --dry-run(:).

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

O Nextcloud verifica as tabelas relevantes e reporta o progresso. Deixe o processo terminar; não o interrompa apenas porque uma tabela grande está demorando mais do que o esperado. O manual de atualização lista este comando entre as tarefas de esquema mais longas que podem ser executadas enquanto a instância permanece online, portanto, normalmente não é necessário ativar o modo de manutenção para este reparo. Evite realizar manutenções simultâneas no banco de dados enquanto este comando estiver em execução.

Um terminal Linux mostrando o comando missing-index verificando a tabela de cache de arquivos e finalizando com "Concluído".
O comando verifica as tabelas do banco de dados e retorna ao shell quando termina.

Se o Nextcloud estiver sendo executado no Docker

Execute o comando occno contêiner do aplicativo Nextcloud, não no contêiner de banco de dados separado. Para um contêiner nextcloudcom o nome da conta usual www-data, o comando costuma ser:

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

Substitua nextcloudpelo nome real do contêiner da sua aplicação. Se a sua imagem ou implantação usar um usuário de contêiner, binário PHP ou wrapper de comando diferente, siga a documentação dessa imagem e mantenha o comando sendo executado como o usuário HTTP.

Verifique se o aviso desapareceu.

Após a conclusão do comando, atualize as configurações de Administração > Visão geral . A mensagem de índice ausente deverá desaparecer assim que a verificação do Nextcloud reconhecer os índices. Você também pode executar o comando novamente; ele deverá ser concluído sem a necessidade de adicionar os mesmos índices ausentes novamente. Isso confirma que a verificação do esquema foi concluída, embora não meça o desempenho geral do banco de dados.

Visão geral da administração no estilo Nextcloud, sem o aviso de índice ausente.
Após a conclusão do comando, atualize a Visão Geral da Administração e verifique se o aviso do banco de dados desapareceu.

Se o aviso permanecer

  1. Confirme se você executou o comando na mesma instalação e banco de dados do Nextcloud que gerou o aviso. Um erro comum é executá-lo em um contêiner de manutenção, instância de teste ou contêiner de banco de dados.
  2. Verifique se o comando foi executado com o usuário correto do servidor web e se a versão do PHP utilizada é a mesma do servidor web. O Nextcloud observa que uma configuração diferente do PHP na linha de comando pode causar occerros.
  3. No Nextcloud 35 e versões posteriores, execute o comando sudo -E -u www-data php occ db:schema:checkpara inspecionar as diferenças de esquema. A referência atual identifica essa verificação como adicionada na versão 35. Em versões anteriores, use os diagnósticos documentados para essa versão.
  4. Se o índice ausente pertencer a um aplicativo de terceiros ou se o comando reportar um erro, atualize o aplicativo, caso haja uma atualização disponível, revise o log do Nextcloud e a saída do comando e entre em contato com o mantenedor do aplicativo ou com o suporte do Nextcloud, informando os nomes exatos do índice e da tabela. Não execute CREATE INDEXinstruções escritas manualmente, a menos que o mantenedor do aplicativo ou do banco de dados as forneça para o seu esquema específico.

Para um servidor de produção, mantenha o backup do banco de dados até que o aviso desapareça e o aplicativo esteja funcionando normalmente. O guia de atualização do Nextcloud abrange a tarefa de manutenção online e o teste opcional.

Deixar um comentário

Limpar aviso de índices de banco de dados ausentes do Nextcloud

Limpar aviso de índices de banco de dados ausentes do Nextcloud

Execute o reparo do OCC do Nextcloud com segurança, visualize as alterações no banco de dados e verifique por que o aviso pode persistir.

Aumente o limite de upload da web do Nextcloud para além de 2 GB.

Aumente o limite de upload da web do Nextcloud para além de 2 GB.

Permita uploads maiores pelo navegador Nextcloud alinhando as configurações de PHP, Nginx ou Apache, armazenamento temporário e tempo limite — e verifique qual limite está bloqueando o arquivo.

Limpar o aviso de memória PHP do Nextcloud no servidor web

Defina o limite de memória PHP que o Nextcloud realmente utiliza, reinicie o serviço correto e confirme a configuração de 512 MB na Visão Geral do Administrador.

Conecte um bucket compatível com S3 ao armazenamento externo do Nextcloud.

Monte um bucket de armazenamento de objetos compatível no Nextcloud usando seu backend S3, com o endpoint, as credenciais, o escopo de acesso e as etapas de verificação corretos.

Transfira dados do Nextcloud para um disco rígido externo sem comprometer o armazenamento.

Transfira dados do Nextcloud para um disco rígido externo sem comprometer o armazenamento.

Mova com segurança um diretório de dados do Nextcloud no Linux para uma unidade externa usando uma montagem UUID persistente, modo de manutenção, uma cópia verificada e o link simbólico do caminho original.

Erro no banco de dados do Nextcloud após uma atualização: o que verificar primeiro

Restaure o acesso ao Nextcloud após uma atualização, diagnosticando erros de SQL, verificando a conectividade do banco de dados e concluindo com segurança as migrações interrompidas.

Recupere a senha de administrador do Nextcloud perdida com o OCC

Utilize o comando OCC do Nextcloud para redefinir a senha de um administrador a partir do shell do servidor, com orientações sobre nomes de usuário, permissões e provedores de login externos.

Adicione o cabeçalho HSTS no endpoint HTTPS que serve o Nextcloud.

Elimine o aviso HSTS do Nextcloud configurando o cabeçalho no Apache, NGINX ou no seu proxy TLS e, em seguida, verifique a resposta HTTPS pública com segurança.

Solução de problemas de instalações do aplicativo Nextcloud que relatam falta de internet

Solução de problemas de instalações do aplicativo Nextcloud que relatam falta de internet

Rastreie falhas de instalação na App Store até problemas de DNS, HTTPS, proxy, TLS ou configuração no próprio servidor Nextcloud.

Controle os picos de uso da CPU no Nextcloud Preview com uma fila agendada.

Transfira a criação de miniaturas para uma programação em segundo plano controlada, reduza os tamanhos de pré-visualização não utilizados e verifique a fila sem sobrecarregar seu servidor Nextcloud.