当用户提到以下关键词时,使用此skill:
用户说法执行命令说明"看锁"dbskiter --output-mode=ai --database=<name> lock analyze分析当前锁情况"死锁"dbskiter --output-mode=ai --database=<name> lock deadlocks检测死锁"阻塞"dbskiter --output-mode=ai --database=<name> lock chains追踪锁等待链"锁报告"dbskiter --output-mode=ai --database=<name> lock report生成锁分析报告"终止事务"dbskiter --output-mode=ai --database=<name> lock kill <id>终止阻塞事务
bash
dbskiter --database=<数据库名> lock analyze
输出:总锁数、等待中锁数、已授予锁数
bash
dbskiter --database=<数据库名> lock deadlocks
输出:死锁数量、涉及事务、解决建议
bash
dbskiter --database=<数据库名> lock chains
输出:锁等待链数量、链深度、阻塞源头
bash
dbskiter --database=<数据库名> lock kill <transaction_id>
注意:谨慎使用,会强制终止事务
数据库锁分析死锁检测锁等待链说明MySQL完整支持支持支持完全可用PostgreSQL完整支持支持支持完全可用Oracle完整支持支持支持完全可用
text
步骤1:执行 dbskiter --database=<name> lock analyze
步骤2:查看锁统计信息
步骤3:如果有等待锁,执行 dbskiter --database=<name> lock chains 查看阻塞链
步骤4:总结锁情况给用户
text
步骤1:执行 dbskiter --database=<name> lock deadlocks
步骤2:如果有死锁,列出涉及的事务和SQL
步骤3:给出解决建议(如终止某个事务)
text
步骤1:执行 dbskiter --database=<name> lock chains
步骤2:分析阻塞链,找出阻塞源头
步骤3:建议终止阻塞源头事务或优化业务逻辑