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

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

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


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

数据库 检查要点 工具/命令 提示
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 应用慢


相关推荐
搬码临时工18 分钟前
远程连接电脑的方法?异地远程桌面连接和三方软件实现
运维·服务器·网络·物联网·电脑·远程工作
_星辰大海乀23 分钟前
表的设计、聚合函数
java·数据结构·数据库·sql·mysql·数据库开发
窦再兴34 分钟前
来一个复古的技术FTP
linux·运维·服务器
梦在深巷、39 分钟前
nginx配置之负载均衡
运维·nginx·负载均衡
未来之窗软件服务1 小时前
solidwors插件 开发————仙盟创梦IDE
前端·javascript·数据库·ide·仙盟创梦ide
yc_12241 小时前
SqlHelper 实现类,支持多数据库,提供异步操作、自动重试、事务、存储过程、分页、缓存等功能。
数据库·c#
小黑_深呼吸1 小时前
Prometheus实战教程:k8s平台-Mysql监控案例
运维·学习·kubernetes·prometheus
疯狂的挖掘机2 小时前
记一次从windows连接远程Linux系统来控制设备采集数据方法
linux·运维·windows
Leo.yuan2 小时前
基于地图的数据可视化:解锁地理数据的真正价值
大数据·数据库·信息可视化·数据挖掘·数据分析
好吃的肘子2 小时前
MongoDB入门
数据库·mongodb