开发指南—DAL语句—SHOW—SHOW METADATA LOCK

简介: 本文将介绍如何在PolarDB-X上使用SHOW METADATA LOCK语句查询持有锁的事务。

背景信息

PolarDB-X在创建全局二级索引时使用了内建的METADATA LOCK,保证事务以及数据的一致性。在已有表上建立全局二级索引通常需要较长的时间,若此时同时存在持有锁的事务在运行则可能出现SCHEMA变更等待事务完成的情况。此时您可以使用SHOW METADATA LOCK语句查询持有锁的事务以及对应正在执行的SQL语句,方便您排查阻塞SCHEMA变更的长时间事务。


说明 PolarDB-X支持Online Schema Change,添加全局二级索引过程中,会发生4次元数据版本切换,其中有两次会先获取METADATA LOCK的写锁加载元数据完成后立即解锁,其余的时间均不会持有METADATA LOCK的写锁。

语法


SHOW METADATA {LOCK | LOCKS} [schema_name[.table_name]]

schema_nametbl_name是可选的,用于过滤显示的数据库名或表名。


show metadata lock; # 显示该节点上所有持有metadata lock的连接

show metadata lock xxx_db; # 显示该节点上 xxx_db 中所有持有metadata lock的连接
show metadata lock xxx_db.tb_name; # 显示该节点上 xxx_db 中 tb_name 上所有持有metadata lock的连接

示例


mysql> show metadata lock;
+---------+--------+-----------------+---------------------+--------------+------------------+-----------------+----------+-------------------------------------+-----------------------------------------------+
| CONN_ID | TRX_ID | TRACE_ID | SCHEMA | TABLE | TYPE | DURATION | VALIDATE | FRONTEND | SQL |
+---------+--------+-----------------+---------------------+--------------+------------------+-----------------+----------+-------------------------------------+-----------------------------------------------+
| 4 | 0 | f88cf71cbc00001 | XXXX_DRDS_LOCAL_APP | full_gsi_ddl | MDL_SHARED_WRITE | MDL_TRANSACTION | 1 | XXXX_DRDS_LOCAL_APP@127.0.0.1:54788 | insert into `full_gsi_ddl` (id) VALUE (null); |
| 5 | 0 | f88cf71cbc00000 | XXXX_DRDS_LOCAL_APP | full_gsi_ddl | MDL_SHARED_WRITE | MDL_TRANSACTION | 1 | XXXX_DRDS_LOCAL_APP@127.0.0.1:54789 | insert into `full_gsi_ddl` (id) VALUE (null); |
+---------+--------+-----------------+---------------------+--------------+------------------+-----------------+----------+-------------------------------------+-----------------------------------------------+
2 rows in set (0.00 sec)


说明 该语句仅用于显示已持有锁的连接,不显示等待锁的连接。

表 1. 列名说明

列名 说明
CONN_ID 持有锁的连接ID
TRX_ID 持有锁的事务ID
TRACE_ID 持有锁的SQL的跟踪 ID
SCHEMA 库名
TABLE 表名
TYPE 持有锁类型
DURATION 持有锁的周期
VALIDATE 是否有效
FRONTEND 前端连接信息
SQL 持有锁的SQL语句
相关文章
|
6月前
|
Prometheus 监控 Cloud Native
云原生监控实战:Prometheus+Grafana快速搭建指南
云原生监控实战:Prometheus+Grafana快速搭建指南
|
7月前
|
运维 安全 网络安全
等保测评全面解析
等保测评是依据国家信息安全等级保护制度,对信息系统安全保护状况进行检测评估的活动。其目标是确保信息系统在各阶段符合安全等级要求,保障系统保密性、完整性和可用性。测评涵盖技术与管理两方面:技术层面包括物理环境、网络通信、设备计算及应用数据安全;管理层面涉及制度、机构、人员及建设运维管理。测评流程分为准备、方案设计、现场测评和报告编制四个阶段。实践中需做好测评前准备、测评中配合以及测评后整改优化,以持续提升信息安全水平。
771 0
|
JavaScript 数据安全/隐私保护
某招聘站新版zptoken玩法分析第三弹
某招聘站新版zptoken玩法分析第三弹
497 1
|
存储 Linux API
CrossOver23mac苹果电脑如何下载Windows软件
Mac计算机一向要运行Windows应用程序,都需要安装Parallels Desktop、Wine等虚拟计算机或程序转换工具,但Apple推出了自家制M1芯片的Mac计算机后,这些工具都未能成功过渡。近日原Wine制作商就宣布推出全新“CrossOver”工具,能够将Windows应用程序直接在M1芯片的全新Mac计算机上运行。
615 0
|
Kubernetes 调度 Docker
Kubernetes加入新节点,经验总结
Kubernetes节点加入,经验总结 kubeadm安装Kubernetes,实践记录。 参考:https://my.oschina.net/u/2306127/blog/1628082 Kubernetes主控节点建立后(方法参见上面的链接),就可以随时添加更多的工作节点进去构建更大的集群(minikube设计为单机开发使用,不能添加工作节点),容器实例可以在所有符合条件的node上调度运行,这是Kubernetes最为强大的功能。
3978 0
|
设计模式 XML 缓存
Java经典面试题整理及答案详解(一)
面试题包括java集类和设计模式、spring工作原理、动态代理、事务的控制等方面,码住!我们能赢!
Java经典面试题整理及答案详解(一)
|
编解码 算法 前端开发
卫星影像识别技术在高德数据建设中的探索与实践
对于卫星影像的使用方式,高德经历了由前端用户展示,到人工数据作业参考,再到主动发现更新地图数据的进化过程,这同时也是我们不断挖掘影像数据价值的过程。本文会介绍高德视觉团队将卫星影像从被动参考升级为主动发现的过程中的探索和实践。
卫星影像识别技术在高德数据建设中的探索与实践
|
Python
Python 依赖库管理pip、pipreqs、pigar、pip-tools、pipdeptree
Python 依赖库管理pip、pipreqs、pigar、pip-tools、pipdeptree
583 0
|
机器人 BI 开发者