主流数据库运维故障排查卡片式速查表与视觉图谱

主流数据库运维故障排查卡片式速查表与视觉图谱

本文件将主文档内容转化为模块化卡片结构,并补充数据库结构图、排查路径图、锁机制对比等视觉图谱,以便在演示、教学或现场排障中快速引用。


📌 故障卡片速查:连接失败

数据库 检查要点 工具/命令 提示
MySQL mysqld 是否运行;bind-address 设置;权限表 (user@host) systemctl status mysqlSHOW GRANTS localhost 默认走 socket
PostgreSQL listen_addresses, pg_hba.conf 配置 `ps aux grep postgrespg_isready` IP/MASK 需匹配,注意 auth 方法
SQL Server TCP/IP 是否启用;实例名正确;防火墙 SQL Server 配置管理器;telnet 默认端口 1433,命名实例需格式
Oracle Listener 启动;tnsnames.ora, sqlnet.ora 正确 lsnrctl statustnsping ORA-12514 多见于服务名不一致

口诀: 连-端-网-权


📌 慢查询分析卡片

数据库 常用手段 推荐工具/命令 优化重点
MySQL 开启慢查询日志;EXPLAIN 分析 EXPLAIN ANALYZE;Performance Schema 避免全表扫,控制子查询
PostgreSQL auto_explain 捕捉执行计划 EXPLAIN (ANALYZE, BUFFERS) 数据类型匹配与统计信息准确
SQL Server 使用执行计划与 DMV sys.dm_exec_query_stats + query_plan 避免隐式转换、参数嗅探
Oracle SQL Trace + TKPROF 分析 DBMS_XPLAN.DISPLAY_CURSOR;SQL Profile 并行度、hint、统计信息

口诀: 慢-查-索-优


📌 锁等待排查卡片

数据库 查看锁信息方法 典型排查视图/命令 优化技巧
MySQL INNODB STATUS; Performance Schema SHOW ENGINE INNODB STATUS\G 避免 gap lock,缩事务
PostgreSQL pg_locks, pg_blocking_pids() SELECT * FROM pg_locks JOIN pg_stat_activity 长查询+长事务要拆分
SQL Server dm_tran_locks, dm_os_waiting_tasks sys.dm_exec_requests;Profiler 使用行版隔离减少冲突
Oracle V$LOCK, V$SESSION, LOCKED_OBJECT SELECT * FROM dba_blockers/dba_waiters alert 日志含死锁栈信息

口诀: 事-锁-索-释


📌 主从延迟诊断卡片

数据库 查看同步状态命令 延迟字段 优化建议
MySQL SHOW SLAVE STATUS\G Seconds_Behind_Master 多线程复制;避免大事务
PostgreSQL pg_stat_replication, replay_lag flush_lag, replay_lag 热备反馈;异步切同步看 sync_state
SQL Server dm_hadr_database_replica_states redo_queue_size 分发器性能/日志网络瓶颈
Oracle V$DATAGUARD_STATS, V$ARCHIVE_DEST APPLY LAG 增带宽/并发;定期观测归档堆积

口诀: 主-网-从-延


📌 存储瓶颈排查卡片

数据库 缓存相关参数 I/O 检查方法/指标 典型优化措施
MySQL innodb_buffer_pool_size iostatSHOW ENGINE INNODB STATUS 加大 buffer、调整 flush 策略
PostgreSQL shared_buffers, work_mem pg_stat_io, blks_hit/blks_read 比率 VACUUM/避免顺扫
SQL Server Buffer Pool, TempDB 使用率 dm_io_virtual_file_stats, PerfMon 拆 TempDB;优化日志写
Oracle DB_CACHE_SIZE, LOG_BUFFER AWR、V$FILESTAT, V$SYSSTAT 中 I/O wait ASM + IOPS 策略调优

口诀: 存-IO-缓-满


🔍 可视化图谱(建议配合展示使用)

✅ 锁类型与死锁图谱(跨数据库对比)

复制代码
MySQL (InnoDB): Record Lock, Gap Lock, Next-Key Lock
PostgreSQL: Row Exclusive, Share, Access Exclusive
SQL Server: RID, PAGE, KEY, TABLE, INTENT 锁
Oracle: TX (行锁), TM (表锁)

🧠 死锁检测原则:等待图 + 回滚成本最低事务优先


✅ InnoDB 存储架构图(简化示意)

复制代码
+-------------------------+
|      Buffer Pool        |
| +---------------------+ |
| | Page Cache / Dirty | |
| | Undo / Redo         | |
+-------------------------+
        ↓ Flush
+-------------------------+
|     Tablespace (.ibd)   |
|     Doublewrite Buffer  |
+-------------------------+

✅ 主从复制流程图(通用模型)

复制代码
[主库 Binlog] → [IO Thread] → [Relay Log (从)] → [SQL Thread 执行]

🛠 延迟常见位置:大事务 → Relay 写慢 → SQL 应用慢


相关推荐
zzb15807 小时前
RAG from Scratch-优化-query
java·数据库·人工智能·后端·spring·mybatis
一只鹿鹿鹿7 小时前
信息安全等级保护安全建设防护解决方案(总体资料)
运维·开发语言·数据库·面试·职场和发展
房产中介行业研习社7 小时前
2026年3月哪些房源管理系统功能全
大数据·运维·人工智能
堕2747 小时前
MySQL数据库《基础篇--数据库索引(2)》
数据库·mysql
wei_shuo7 小时前
数据库优化器进化论:金仓如何用智能下推把查询时间从秒级打到毫秒级
数据库·kingbase·金仓
雷工笔记7 小时前
Navicat Premium 17 软件安装记录
数据库
wenlonglanying8 小时前
Ubuntu 系统下安装 Nginx
数据库·nginx·ubuntu
数据库小组8 小时前
10 分钟搞定!Docker 一键部署 NineData 社区版
数据库·docker·容器·database·数据库管理工具·ninedata·迁移工具
biubiubiu07068 小时前
Linux / Ubuntu systemd 服务使用说明
linux·运维·ubuntu
爬山算法8 小时前
MongoDB(38)如何使用聚合进行投影?
数据库·mongodb