Skip to main content

ops-diagnostics

PolarDB-X 运维诊断视图完整参考。覆盖事务/锁、慢SQL、DDL、执行计划、分区拓扑、存储资源、列存、内存等八大场景的 information_schema 视图用法与示例 SQL。 Use when diagnosing performance issues, checking cluster health, analyzing slow queries, monitoring DDL progress, investigating locks/transactions, or inspecting data distribution on PolarDB-X. Triggers: "诊断", "运维", "巡检", "慢SQL", "长事务", "锁等待", "DDL进度", "数据倾斜", "存储节点", "DN状态", "连接数", "内存", "计划缓存", "SPM", "死锁", "information_schema", "STATEMENTS_SUMMARY", "POLARDBX_TRX", "TABLE_DETAIL", "STORAGE", "DDL_PROGRESS", "METADATA_LOCK", "DEADLOCKS", "PLAN_CACHE", "OPTIMIZER_ALERT", "diagnostics", "health check"

설치로 이동

소스 정보

저장소
polardb/polardbx-sql
최근 소스 활동
2026년 9월 20일 04:37
감지된 SKILL.md 언어
중국어
스타
1,686
포크
337

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
ops-diagnostics
description
PolarDB-X 运维诊断视图完整参考。覆盖事务/锁、慢SQL、DDL、执行计划、分区拓扑、存储资源、列存、内存等八大场景的 information_schema 视图用法与示例 SQL。 Use when diagnosing performance issues, checking cluster health, analyzing slow queries, monitoring DDL progress, investigating locks/transactions, or inspecting data distribution on PolarDB-X. Triggers: "诊断", "运维", "巡检", "慢SQL", "长事务", "锁等待", "DDL进度", "数据倾斜", "存储节点", "DN状态", "连接数", "内存", "计划缓存", "SPM", "死锁", "information_schema", "STATEMENTS_SUMMARY", "POLARDBX_TRX", "TABLE_DETAIL", "STORAGE", "DDL_PROGRESS", "METADATA_LOCK", "DEADLOCKS", "PLAN_CACHE", "OPTIMIZER_ALERT", "diagnostics", "health check"
metadata
{"version":"0.1.0"}
# PolarDB-X 运维诊断视图参考 本技能提供 PolarDB-X 独有 information_schema 视图的完整使用指南。当用户提出运维诊断类问题时,优先使用这些视图获取信息。 ## Scope **适用于:** - 慢 SQL 排查、QPS/RT 分析 - 分布式事务排查(长事务、锁等待、死锁) - DDL 执行监控 - 集群/存储节点健康检查 - 数据分布与倾斜分析 - 执行计划缓存与 SPM 管理 - 内存/连接池/线程池监控 - 列存/冷存状态检查 **不适用于:** - MySQL 标准 information_schema 视图的基本用法(如 TABLES, COLUMNS, SCHEMATA 等) - DN 内部 InnoDB 状态(使用 SHOW ENGINE INNODB STATUS) --- ## Core Workflow 1. 识别用户问题所属场景(事务/慢SQL/DDL/拓扑/存储/内存等) 2. 选择对应的诊断视图并构造查询 3. 解读结果,给出诊断结论和建议 --- ## 诊断视图速查表 ### 1. 事务与锁 | 视图 | 用途 | 示例 SQL | |------|------|----------| | `POLARDBX_TRX` | 查看当前所有分布式事务(含 duration、状态、SQL) | `SELECT * FROM information_schema.polardbx_trx ORDER BY DURATION_TIME DESC LIMIT 20` | | `DEADLOCKS` | 查看最近发生的死锁记录 | `SELECT * FROM information_schema.deadlocks ORDER BY GMT_CREATED DESC LIMIT 10` | | `METADATA_LOCK` | 查看 MDL 锁持有者和等待者 | `SELECT * FROM information_schema.metadata_lock` | | `INNODB_TRX` | DN 级别 InnoDB 事务列表 | `SELECT * FROM information_schema.innodb_trx` | | `INNODB_LOCKS` | DN 级别行锁信息 | `SELECT * FROM information_schema.innodb_locks` | | `INNODB_LOCK_WAITS` | DN 级别锁等待关系 | `SELECT * FROM information_schema.innodb_lock_waits` | | `PREPARED_TRX_BRANCH` | 悬挂的 XA 预备事务分支 | `SELECT * FROM information_schema.prepared_trx_branch` | **典型诊断流程 — 长事务排查:** ```sql -- 1. 找到超过 60 秒的事务 SELECT TRX_ID, DURATION_TIME, SQL, PROCESS_ID FROM information_schema.polardbx_trx WHERE DURATION_TIME > 60; -- 2. 如果需要 kill KILL <PROCESS_ID>; ``` ### 2. 慢 SQL 分析 | 视图 | 用途 | 示例 SQL | |------|------|----------| | `STATEMENTS_SUMMARY` | SQL 摘要统计(累计执行次数、总耗时、平均RT等) | `SELECT SCHEMA, SQL_TEMPLATE, COUNT, AVG_RESPONSE_TIME_MS, SUM_RESPONSE_TIME_MS FROM information_schema.statements_summary ORDER BY SUM_RESPONSE_TIME_MS DESC LIMIT 20` | | `STATEMENTS_SUMMARY_HISTORY` | 历史 SQL 摘要(与上类似,保留更长时间窗口) | `SELECT * FROM information_schema.statements_summary_history WHERE SCHEMA='xxx' ORDER BY SUM_RESPONSE_TIME_MS DESC LIMIT 10` | | `PHYSICAL_PROCESSLIST` | DN 上正在执行的物理 SQL | `SELECT * FROM information_schema.physical_processlist WHERE TIME > 5` | | `PROCESSLIST` | CN 逻辑连接列表 | `SELECT * FROM information_schema.processlist WHERE COMMAND != 'Sleep'` | | `WORKLOAD` | 实时负载指标(QPS、连接数等) | `SELECT * FROM information_schema.workload` | **典型诊断流程 — TOP 慢 SQL:** ```sql -- 找出平均 RT 最高的 SQL 模板 SELECT SQL_TEMPLATE, COUNT, AVG_RESPONSE_TIME_MS, SUM_AFFECTED_ROWS, SUM_RESPONSE_TIME_MS FROM information_schema.statements_summary WHERE SCHEMA = 'your_db' ORDER BY AVG_RESPONSE_TIME_MS DESC LIMIT 10; ``` ### 3. DDL 监控 | 视图 | 用途 | 示例 SQL | |------|------|----------| | `DDL_PROGRESS` | DDL 执行进度(百分比) | `SELECT * FROM information_schema.ddl_progress` | | `DDL_PLAN` | DDL 计划详情(步骤列表) | `SELECT * FROM information_schema.ddl_plan WHERE JOB_ID=xxx` | | `DDL_INFO` | DDL 任务概览 | `SELECT * FROM information_schema.ddl_info` | | `DDL_SCHEDULER` | DDL 调度器状态 | `SELECT * FROM information_schema.ddl_scheduler` | | `DDL_ENGINE_RESOURCE` | DDL 引擎资源占用 | `SELECT * FROM information_schema.ddl_engine_resource` | | `DDL_PHYSICAL_LOCK_STAT` | DDL 物理锁持有统计 | `SELECT * FROM information_schema.ddl_physical_lock_stat` | | `OMC_PROGRESS` | Online Modify Column 进度 | `SELECT * FROM information_schema.omc_progress` | | `REBALANCE_PROGRESS` | Rebalance 进度 | `SELECT * FROM information_schema.rebalance_progress` | ### 4. 执行计划与优化器 | 视图 | 用途 | 示例 SQL | |------|------|----------| | `PLAN_CACHE` | 执行计划缓存内容 | `SELECT * FROM information_schema.plan_cache WHERE SCHEMA_NAME='xxx' LIMIT 20` | | `PLAN_CACHE_CAPACITY` | 计划缓存容量 | `SELECT * FROM information_schema.plan_cache_capacity` | | `SPM` | SQL Plan Management 绑定的基线 | `SELECT * FROM information_schema.spm WHERE SCHEMA_NAME='xxx'` | | `OPTIMIZER_ALERT` | 优化器告警(全表扫描、走错计划等) | `SELECT * FROM information_schema.optimizer_alert WHERE ALERT_COUNT > 0 ORDER BY ALERT_COUNT DESC` | | `STATISTIC_TASK` | 统计信息采集任务 | `SELECT * FROM information_schema.statistic_task` | | `STATISTICS_DATA` | 统计信息详情 | `SELECT * FROM information_schema.statistics_data WHERE SCHEMA_NAME='xxx' AND TABLE_NAME='yyy'` | ### 5. 分区与拓扑 | 视图 | 用途 | 示例 SQL | |------|------|----------| | `TABLE_DETAIL` | 每个分区的行数、大小分布 | `SELECT TABLE_SCHEMA, TABLE_NAME, PARTITION_NAME, TABLE_ROWS, DATA_LENGTH FROM information_schema.table_detail WHERE TABLE_SCHEMA='xxx' ORDER BY TABLE_ROWS DESC` | | `TABLE_GROUP` | 表组信息(共置关系) | `SELECT * FROM information_schema.table_group WHERE TABLE_SCHEMA='xxx'` | | `FULL_TABLE_GROUP` | 表组详情含成员表 | `SELECT * FROM information_schema.full_table_group WHERE TABLE_SCHEMA='xxx'` | | `GLOBAL_INDEXES` | 全局二级索引(GSI)列表 | `SELECT * FROM information_schema.global_indexes WHERE SCHEMA='xxx'` | | `PARTITIONS_META` | 分区元数据 | `SELECT * FROM information_schema.partitions_meta WHERE TABLE_SCHEMA='xxx' AND TABLE_NAME='yyy'` | | `LOCALITY_INFO` | 数据局部性配置 | `SELECT * FROM information_schema.locality_info` | | `MOVE_DATABASE` | 搬库任务进度 | `SELECT * FROM information_schema.move_database` | **典型诊断流程 — 数据倾斜:** ```sql -- 查看各分区行数分布 SELECT PARTITION_NAME, TABLE_ROWS, DATA_LENGTH FROM information_schema.table_detail WHERE TABLE_SCHEMA='your_db' AND TABLE_NAME='your_table' ORDER BY TABLE_ROWS DESC; -- 对比最大/最小分区行数判断倾斜程度 ``` ### 6. 存储节点 | 视图 | 用途 | 示例 SQL | |------|------|----------| | `STORAGE` | DN 节点概览(角色、IP、端口、状态) | `SELECT * FROM information_schema.storage` | | `STORAGE_STATUS` | DN 连接池、线程状态 | `SELECT * FROM information_schema.storage_status` | | `STORAGE_REPLICAS` | DN 副本信息 | `SELECT * FROM information_schema.storage_replicas` | | `FULL_STORAGE` | 完整 DN 信息(含只读节点) | `SELECT * FROM information_schema.full_storage` | | `STORAGE_PROPERTIES` | DN 配置属性 | `SELECT * FROM information_schema.storage_properties` | | `DN_PERF` | DN 性能指标 | `SELECT * FROM information_schema.dn_perf` | | `NODE_STATS` | CN 节点统计 | `SELECT * FROM information_schema.node_stats` | ### 7. 内存与连接池 | 视图 | 用途 | 示例 SQL | |------|------|----------| | `CN_MEMORYPOOL` | CN 内存池使用情况 | `SELECT * FROM information_schema.cn_memorypool` | | `QUERY_MEMORY` | 当前查询的内存使用 | `SELECT * FROM information_schema.query_memory ORDER BY QUERY_USED DESC LIMIT 10` | | `TOTAL_MEMORY` | CN 总内存统计 | `SELECT * FROM information_schema.total_memory` | | `EXECUTOR_MEMORY` | 执行器内存 | `SELECT * FROM information_schema.executor_memory` | | `CN_THREADPOOL` | CN 线程池状态 | `SELECT * FROM information_schema.cn_threadpool` | | `CN_DBSTATS` | CN 各库统计 | `SELECT * FROM information_schema.cn_dbstats` | | `CN_STATUS` | CN 节点状态 | `SELECT * FROM information_schema.cn_status` | ### 8. 列存与冷存 | 视图 | 用途 | 示例 SQL | |------|------|----------| | `COLUMNAR_INDEX_STATUS` | 列存索引物理空间占用 | `SELECT * FROM information_schema.columnar_index_status` | | `COLUMNAR_STATUS` | 列存索引有效数据统计 | `SELECT * FROM information_schema.columnar_status` | | `FILE_STORAGE` | 冷存文件存储概览 | `SELECT * FROM information_schema.file_storage` | | `FILE_STORAGE_FILES_META` | 冷存文件明细 | `SELECT * FROM information_schema.file_storage_files_meta` | ### 9. 其他 | 视图 | 用途 | 示例 SQL | |------|------|----------| | `CCL_RULE` | 并发控制规则 | `SELECT * FROM information_schema.ccl_rule` | | `SEQUENCES` | 序列信息 | `SELECT * FROM information_schema.sequences WHERE SCHEMA_NAME='xxx'` | | `REACTOR_PERF` | NIO Reactor 性能 | `SELECT * FROM information_schema.reactor_perf` | | `SESSION_PERF` | 会话级性能 | `SELECT * FROM information_schema.session_perf` | | `REPLICA_STAT` | 复制统计 | `SELECT * FROM information_schema.replica_stat` | | `SCHEDULE_JOBS` | 定时任务列表 | `SELECT * FROM information_schema.schedule_jobs WHERE TABLE_SCHEMA='xxx'` | | `TTL_INFO` | TTL 配置信息 | `SELECT * FROM information_schema.ttl_info WHERE TABLE_SCHEMA='xxx'` | | `MODULE` | CN 各模块运行状态 | `SELECT * FROM information_schema.module` | --- ## Best Practices 1. **先窄后宽**:先用 WHERE 条件限定 schema/table,避免全量扫描 2. **关注关键列**:STATEMENTS_SUMMARY 重点看 SUM_RESPONSE_TIME_MS, COUNT, AVG_RESPONSE_TIME_MS, SUM_AFFECTED_ROWS 3. **对比基线**:诊断时对比历史数据(STATEMENTS_SUMMARY_HISTORY)判断是否异常 4. **组合使用**:长事务 + MDL 锁 + 物理连接 三个视图联合排查阻塞链 5. **避免高频查询**:部分视图(如 PHYSICAL_PROCESSLIST)涉及跨 DN 收集,在高负载时谨慎使用
GitHub에서 보기