首页 数据库自治服务 开发参考 API参考 API目录 锁优化 GetDeadLockDetail - 查询单个死锁详情

GetDeadLockDetail - 查询单个死锁详情

更新时间: 2024-12-23 10:11:23

查询单个死锁详情。

接口说明

本接口用于获取最近死锁分析、全量死锁分析的单个死锁详情。详情请参见死锁分析

使用该接口需满足以下前提条件:

  • 查询最近死锁分析详情的目标数据库引擎为:RDS MySQL、自建 MySQL、PolarDB MySQL 版、PolarDB-X 2.0。
  • 查询全量死锁分析详情的目标数据库引擎为:RDS MySQL、PolarDB MySQL 版,且已开通 DAS 经济版DAS 企业版
  • 使用阿里云或 DAS 的 SDK 时,建议使用最新版本。
  • 使用 SDK 调用 DAS 服务时,需要将地域指定为 cn-shanghai。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。
  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:
    • 对于必选的资源类型,用背景高亮的方式表示。
    • 对于不支持资源级授权的操作,用全部资源表示。
  • 条件关键字:是指云产品自身定义的条件关键字。
  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作访问级别资源类型条件关键字关联操作
hdm:GetDeadLockDetailnone
*全部资源
*

请求参数

名称类型必填描述示例值
InstanceIdstring

实例 ID。

pc-bp1u5mas9exx7****
NodeIdstring

节点 ID。

说明 对于 PolarDB MySQL 版实例,需要提供节点 ID。
pi-bp16v3824rt73****
TextIdstring

查询死锁历史任务列表 GetDeadLockHistory 中返回的死锁 TextId。

a0e390cd5aca9ae964448f040153****
Sourcestring

任务来源:

  • MANUAL不传入:查询最近死锁分析任务。
  • AUTO:查询全量死锁分析任务。
AUTO

返回参数

名称类型描述示例值
object
RequestIdstring

请求 ID。

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

请求返回消息。

说明 请求成功时该参数返回 Successful,请求失败时会返回请求异常信息(如错误码等)。
Successful
Synchrostring

备用参数。

None
Datastring

返回的 JSON 格式数据:

  • accountId:用户 ID。
  • textId:死锁文本 ID。
  • gmtModified:诊断生成时间。
  • originText:LATEST DETECTED DEADLOCK 的原始死锁文本或错误日志中的原始死锁文本。
  • deadlock:死锁详情:
    • occurTime:死锁发生时间。
    • originTextId:死锁文本 ID。
    • rollbackTrxId:回滚的事务编号。
    • transactions:
      • deadlockIdInDB:DB 中的死锁编号。
      • ip:访问 IP。
      • queryId:请求 ID。
      • queryType:请求类型。
      • relatedTables:相关表。
      • tableNamesString:相关表。
      • sqlText:SQL 文本。
      • threadId:线程 ID。
      • transactionId:事务 ID。
      • trxIdInLock:死锁中的事务编号。
      • userName:数据库用户名。
      • waitLockIndexName:等待锁索引名。
      • waitLockMode:等待锁类型。
      • lockWait:等待锁。
      • holdLockIndexName:持有锁索引名。
      • holdLockMode:持有锁类型。
      • lockHold:持有锁。
    • trxNum:事务数量。
  • gmtCreate:诊断创建时间。
  • nodeId:节点 ID。
  • uuid:实例 ID。
{ "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***************" }
Codestring

返回的状态码。

200
Successstring

请求是否执行成功:

  • true:执行成功。
  • false:执行失败。
true

示例

正常返回示例

JSON格式

{
  "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"
}

错误码

HTTP status code错误码错误信息描述
400InvalidParamsThe request parameters are invalid.请求参数错误
403NoPermissionYou are not authorized to do this action.没有权限执行该操作

访问错误中心查看更多错误码。

上一篇: GetDeadlockHistogram - 查询时间范围内全量死锁分析的数量趋势 下一篇: 索引诊断
阿里云首页 数据库自治服务 相关技术圈