Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Atualizado em 2025-05-23 GMT+08:00

Gerenciamento de bloqueios e transações

Funções

Bloqueios de metadados

  • Bloqueios de metadados (MDLs) são usados para garantir a consistência entre as operações de DDL e DML. A execução de instruções DDL em uma tabela gera bloqueios de gravação de metadados. Se houver um bloqueio de metadados, todas as operações SELECT, DML e DDL subsequentes na tabela serão bloqueadas, causando um backlog de conexão.
  • Os bloqueios de metadados são exibidos em tempo real. Você pode identificar rapidamente problemas de bloqueio e encerrar as sessões que mantêm bloqueios de metadados para restaurar as operações bloqueadas.
  • Bloqueios DML não estão incluídos nesta página. Você pode visualizá-los e analisá-los na página InnoDB Locks.
  • Um máximo de 1.000 registros podem ser exibidos.

Bloqueios de InnoDB

  • O bloqueio de InnoDB espera gerado antes que as operações DML sejam exibidas em tempo real. Você pode localizar rapidamente as esperas e os bloqueios de sessão que aconteceram quando várias sessões atualizam o mesmo dado ao mesmo tempo e pode encerrar as sessões de origem que contêm bloqueios para restaurar operações bloqueadas.
  • Bloqueios de DDL não estão incluídos nesta página. Você pode exibi-los e analisá-los na página Metadata Locks.
  • As informações de bloqueio podem ser exibidas somente quando Performance Schema está ativado. Para verificar o status do Performance Schema, execute SHOW GLOBAL VARIABLES LIKE "performance_schema" ou vá para a página Parameters do TaurusDB.

Análise de deadlock

  • Esta função analisa o último log de deadlock retornado pelo SHOW ENGINE INNODB STATUS. Se houver vários deadlocks, apenas o deadlock mais recente será analisado.
  • Você pode consultar dados de análise de bloqueio dos últimos sete dias.

Análise completa de deadlock

  • A versão do kernel da instância do TaurusDB deve ser 2.0.45.230900 ou posterior.
  • Depois que essa função é ativada, o sistema examina regularmente os registros de erros, extrai detalhes de deadlock deles e realiza uma análise completa de deadlock.
  • Os seguintes parâmetros devem estar ativados:

    innodb_print_all_deadlocks

    innodb_deadlock_detect (Este parâmetro é ativado por padrão.)

  • Um máximo de 10.000 registros podem ser exibidos.
  • Você pode consultar dados de análise de bloqueio dos últimos sete dias.

Procedimento

  1. Faça logon no console de gerenciamento.
  2. Clique em no canto superior esquerdo e selecione uma região e um projeto.
  3. Clique em no canto superior esquerdo da página e escolha Databases > TaurusDB.
  4. Na página Instances, clique no nome da instância.
  5. No painel de navegação, escolha DBA Assistant > Real-Time Diagnosis.
  6. Clique na guia Locks & Transactions e insira a senha do administrador para fazer logon na instância.

    Figura 1 Efetuar logon em uma instância

  7. Na página Metadata Locks, filtre os bloqueios de metadados desejados por ID de sessão, status de bloqueio, tipo de bloqueio e nome do banco de dados.

  8. Verifique se há sessões com bloqueios de metadados.

    Em caso afirmativo, selecione as sessões e clique em Kill Session.

  9. Na página InnoDB Locks, verifique se há alguma espera de bloqueio.

  10. Na página Deadlock Analysis, visualize os dados de análise de bloqueio mais recentes. Você pode clicar em Create Lock Analysis para criar um registro de dados de análise de bloqueio.

  11. Ative Full Deadlock Analysis na página Full Deadlock Analysis e defina o parâmetro innodb_print_all_deadlocks como ON para exibir os dados completos da análise de deadlock.