Todos os produtos
Search
Central de documentação

Database Autonomy Service:GetDeadLockDetail

Última atualização: Jun 28, 2026

Obtém as informações detalhadas de um único evento de deadlock.

Descrição da operação

Esta API obtém os detalhes completos de um deadlock específico, incluindo as transações envolvidas, as instruções SQL e os locks mantidos e aguardados. O deadlock pode ser de uma análise recente ou de uma análise histórica completa. Para obter mais informações, consulte Análise de deadlock.

Antes de chamar esta operação, certifique-se do seguinte:

  • Mecanismos suportados:

    • Para análise recente de deadlock: ApsaraDB RDS for MySQL, MySQL autogerenciado, PolarDB for MySQL, PolarDB-X 2.0.

    • Para análise completa de deadlock: ApsaraDB RDS for MySQL ou PolarDB for MySQL com o DAS Economy Edition ou o DAS Professional Edition ativado.

  • Versão do SDK: Use a versão mais recente do SDK do Alibaba Cloud.

  • Região: Se você chamar a API por meio do SDK, defina o ID da região como cn-shanghai.

Experimente agora

Experimente esta API no OpenAPI Explorer, sem necessidade de assinatura manual. Chamadas bem-sucedidas geram automaticamente código SDK correspondente aos seus parâmetros. Faça o download com segurança de credenciais integrada para uso local.

Testar

Autorização RAM

A tabela abaixo descreve a autorização necessária para chamar esta API. Você pode defini-la em uma política do Resource Access Management (RAM). As colunas da tabela estão detalhadas abaixo:

  • Ação: As ações que podem ser usadas no elemento Action das instruções de política de permissão do RAM para conceder permissões para executar a operação.

  • API: A API que você pode chamar para executar a ação.

  • Nível de acesso: O nível de acesso predefinido concedido para cada API. Valores válidos: create, list, get, update e delete.

  • Tipo de recurso: O tipo de recurso que suporta autorização para executar a ação. Indica se a ação suporta permissão em nível de recurso. O recurso especificado deve ser compatível com a ação. Caso contrário, a política será ineficaz.

    • Para APIs com permissões em nível de recurso, os tipos de recursos obrigatórios são marcados com um asterisco (*). Especifique o Nome de Recurso Alibaba Cloud (ARN) correspondente no elemento Resource da política.

    • Para APIs sem permissões em nível de recurso, é exibido como Todos os Recursos. Use um asterisco (*) no elemento Resource da política.

  • Chave de condição: As chaves de condição definidas pelo serviço. A chave permite controle granular, aplicando-se somente a ações ou a ações associadas a recursos específicos. Além das chaves de condição específicas do serviço, o Alibaba Cloud fornece um conjunto de chaves de condição comuns aplicáveis a todos os serviços compatíveis com RAM.

  • Ação dependente: As ações dependentes necessárias para executar a ação. Para concluir a ação, o usuário RAM ou a função RAM deve ter permissões para executar todas as ações dependentes.

Ação

Nível de acesso

Tipo de recurso

Chave de condição

Ação dependente

hdm:GetDeadLockDetail

none

*All Resource

*

Nenhuma Nenhuma

Parâmetros da solicitação

Parâmetro

Tipo

Obrigatório

Descrição

Exemplo

InstanceId

string

Sim

O ID da instância de banco de dados.

pc-bp1u5mas9exx7****

NodeId

string

Não

O ID do nó.

Nota

Obrigatório para instâncias de cluster do PolarDB for MySQL.

pi-bp16v3824rt73****

TextId

string

Sim

O ID do texto do deadlock. Este valor é retornado pela operação GetDeadLockHistory.

a0e390cd5aca9ae964448f040153****

Source

string

Não

A origem da tarefa de análise:

  • MANUAL ou não especificado: consulta a tarefa de análise recente de deadlock.

  • AUTO: consulta a tarefa de análise completa de deadlock.

AUTO

Elementos de resposta

Elemento

Tipo

Descrição

Exemplo

object

Os parâmetros de resposta.

RequestId

string

O ID exclusivo da solicitação.

9CB97BC4-6479-55D0-B9D0-EA925AFE****

Message

string

A mensagem de resposta.

Nota
  • Quando a solicitação é bem-sucedida, Successful é retornado.

  • Quando a solicitação falha, informações de erro (como códigos de erro) são retornadas.

Successful

Synchro

string

O parâmetro reservado.

None

Data

string

Os dados retornados no formato JSON:

  • accountId: o ID do usuário.

  • textId: o ID do texto do deadlock.

  • gmtModified: a hora em que o diagnóstico foi gerado.

  • originText: o texto original do deadlock de LATEST DETECTED DEADLOCK ou o texto original do deadlock no log de erros.

  • deadlock: os detalhes do deadlock:

    • occurTime: a hora em que o deadlock ocorreu.

    • originTextId: o ID do texto do deadlock.

    • rollbackTrxId: o ID da transação revertida.

    • transactions:

      • deadlockIdInDB: o ID do deadlock no banco de dados.

      • ip: o endereço IP de acesso.

      • queryId: o ID da consulta.

      • queryType: o tipo de consulta.

      • relatedTables: as tabelas relacionadas.

      • tableNamesString: as tabelas relacionadas.

      • sqlText: o texto SQL.

      • threadId: o ID do thread.

      • transactionId: o ID da transação.

      • trxIdInLock: o ID da transação no deadlock.

      • userName: o nome de usuário do banco de dados.

      • waitLockIndexName: o nome do índice para o qual o lock está aguardando.

      • waitLockMode: o tipo de lock que está aguardando.

      • lockWait: o lock em espera.

      • holdLockIndexName: o nome do índice para o qual o lock está mantido.

      • holdLockMode: o tipo de lock que está mantido.

      • lockHold: o lock mantido.

    • trxNum: o número de transações.

  • gmtCreate: a hora em que o diagnóstico foi criado.

  • nodeId: o ID do nó.

  • uuid: o ID da instância.

{ "accountId": "108************", "textId": "35303d12d52d29ba73bb************", "gmtModified": 1732712680000, "originText": "LATEST DETECTED DEADLOCK****", "deadlock": "{\"id\":0,\"occurTime\":1732687047000,\"originTextId\":\"35303d12d52d29ba73bb************\",\"rollbackTrxId\":\"2\",\"transactions\":[{\"deadlockIdInDB\":0,\"ip\":\"100.***.***.***\",\"lockWait\":\"index PRIMARY of table `das`.`students` trx id 15989454 lock_mode X locks rec but not gap waiting\",\"queryId\":\"386737457\",\"queryType\":\"updating\",\"relatedTables\":[\"`das`.`students`\"],\"sqlText\":\"update students set name=UUID() where id = 2 \",\"tableNamesString\":\"`das`.`students`\",\"threadId\":\"9194526\",\"transactionId\":\"15989454\",\"trxIdInLock\":1,\"userName\":\"das\",\"waitLockIndexName\":\"PRIMARY \",\"waitLockMode\":\"X locks rec but not gap waiting\"},{\"deadlockIdInDB\":0,\"holdLockIndexName\":\"PRIMARY \",\"holdLockMode\":\"X locks rec but not gap\",\"ip\":\"100.***.***.***\",\"lockHold\":\"index PRIMARY of table `das`.`students` trx id 15989451 lock_mode X locks rec but not gap\",\"lockWait\":\"index PRIMARY of table `das`.`students` trx id 15989451 lock_mode X locks rec but not gap waiting\",\"queryId\":\"386737566\",\"queryType\":\"updating\",\"relatedTables\":[\"`das`.`students`\"],\"sqlText\":\"update students set name=UUID() where id = 3 \",\"tableNamesString\":\"`das`.`students`\",\"threadId\":\"9194501\",\"transactionId\":\"15989451\",\"trxIdInLock\":2,\"userName\":\"das\",\"waitLockIndexName\":\"PRIMARY \",\"waitLockMode\":\"X locks rec but not gap waiting\"}],\"trxNum\":2}", "gmtCreate": 1732712680000, "nodeId": "pi-8****************", "uuid": "pc-8v***************" }

Code

string

O código de status retornado.

200

Success

string

Indica se a solicitação foi bem-sucedida. Valores válidos:

  • true: A solicitação foi bem-sucedida.

  • false: A solicitação falhou.

true

Exemplos

Resposta de sucesso

JSON formato

{
  "RequestId": "9CB97BC4-6479-55D0-B9D0-EA925AFE****",
  "Message": "Successful",
  "Synchro": "None",
  "Data": "{\n    \"accountId\": \"108************\",\n    \"textId\": \"35303d12d52d29ba73bb************\",\n    \"gmtModified\": 1732712680000,\n    \"originText\": \"LATEST DETECTED DEADLOCK****\",\n    \"deadlock\": \"{\\\"id\\\":0,\\\"occurTime\\\":1732687047000,\\\"originTextId\\\":\\\"35303d12d52d29ba73bb************\\\",\\\"rollbackTrxId\\\":\\\"2\\\",\\\"transactions\\\":[{\\\"deadlockIdInDB\\\":0,\\\"ip\\\":\\\"100.***.***.***\\\",\\\"lockWait\\\":\\\"index PRIMARY of table `das`.`students` trx id 15989454 lock_mode X locks rec but not gap waiting\\\",\\\"queryId\\\":\\\"386737457\\\",\\\"queryType\\\":\\\"updating\\\",\\\"relatedTables\\\":[\\\"`das`.`students`\\\"],\\\"sqlText\\\":\\\"update students set name=UUID() where id = 2 \\\",\\\"tableNamesString\\\":\\\"`das`.`students`\\\",\\\"threadId\\\":\\\"9194526\\\",\\\"transactionId\\\":\\\"15989454\\\",\\\"trxIdInLock\\\":1,\\\"userName\\\":\\\"das\\\",\\\"waitLockIndexName\\\":\\\"PRIMARY \\\",\\\"waitLockMode\\\":\\\"X locks rec but not gap waiting\\\"},{\\\"deadlockIdInDB\\\":0,\\\"holdLockIndexName\\\":\\\"PRIMARY \\\",\\\"holdLockMode\\\":\\\"X locks rec but not gap\\\",\\\"ip\\\":\\\"100.***.***.***\\\",\\\"lockHold\\\":\\\"index PRIMARY of table `das`.`students` trx id 15989451 lock_mode X locks rec but not gap\\\",\\\"lockWait\\\":\\\"index PRIMARY of table `das`.`students` trx id 15989451 lock_mode X locks rec but not gap waiting\\\",\\\"queryId\\\":\\\"386737566\\\",\\\"queryType\\\":\\\"updating\\\",\\\"relatedTables\\\":[\\\"`das`.`students`\\\"],\\\"sqlText\\\":\\\"update students set name=UUID() where id = 3 \\\",\\\"tableNamesString\\\":\\\"`das`.`students`\\\",\\\"threadId\\\":\\\"9194501\\\",\\\"transactionId\\\":\\\"15989451\\\",\\\"trxIdInLock\\\":2,\\\"userName\\\":\\\"das\\\",\\\"waitLockIndexName\\\":\\\"PRIMARY \\\",\\\"waitLockMode\\\":\\\"X locks rec but not gap waiting\\\"}],\\\"trxNum\\\":2}\",\n    \"gmtCreate\": 1732712680000,\n    \"nodeId\": \"pi-8****************\",\n    \"uuid\": \"pc-8v***************\"\n}",
  "Code": "200",
  "Success": "true"
}

Códigos de erro

Código de status HTTP

Código de erro

Mensagem de erro

Descrição

400 InvalidParams The request parameters are invalid.
403 NoPermission You are not authorized to do this action.

Consulte Códigos de Erro para uma lista completa.

Notas de versão

Consulte Notas de Versão para uma lista completa.