日常巡检:别只盯着CPU和内存
国产数据库的架构差异导致传统监控指标失效。例如分布式库的节点间网络延迟、数据倾斜度、副本同步延迟才是核心指标。建议巡检清单:
- 检查各节点数据分布均匀度,用
SHOW DATA SKEW或类似命令定位热点分片。 - 监控WAL/Redo日志生成速率,异常增长可能意味着大事务或死循环。
- 查看慢查询日志中的执行计划变化,统计信息过期会导致计划漂移。
- 定期检查连接池使用率,国产库对空闲连接回收策略不同,容易堆积。
故障恢复:主备切换的隐藏风险
国产库的主备切换机制各有差异,常见坑:
- 异步复制下,主库宕机可能丢失最近几秒事务,需评估业务容忍度。
- 切换后新主库的序列/自增ID可能回退,导致主键冲突。
- 部分库在切换后不会自动重建索引,需要手工执行
REINDEX。
性能调优:从等待事件入手
不要盲目调大缓存池。国产数据库普遍提供等待事件视图,例如V$SESSION_WAIT。优先分析以下等待事件:
buffer busy waits:数据块竞争,考虑增加热块分裂或调整填充因子。log file sync:提交慢,检查磁盘IOPS或调整组提交参数。gc cr block lost:分布式节点间缓存融合失败,检查网络延迟。
shared_buffers,但国产库的内存管理机制不同,过大反而导致回收开销。备份恢复:演练是唯一真理
备份不等于可恢复。很多国产库的物理备份工具不支持跨版本恢复,或增量备份依赖特定的日志序列号。建议:
- 每月做一次完整的恢复演练,包括全量+增量+日志回放,记录恢复时间。
- 验证备份文件的完整性,使用
RESTORE VALIDATE检查损坏块。 - 测试恢复到异构硬件(不同CPU架构或磁盘类型),避免生产故障时才发现兼容性问题。
长期运维建议
建立知识库,记录每个国产库特有的错误码和解决方案。同时关注官方版本更新日志,及时升级补丁,但升级前必须在测试环境全量回归。最后,不要完全依赖原厂支持,培养团队内部的问题排查能力,至少能定位到等待事件和慢SQL层面。