青年数据库学习互助会

一起rac环境卡死故障分析和处理

一起rac环境卡死故障分析和处理

作者简介:王旭,在数据库管理方面拥有10多年经验。精通主流数据库系统,在企业数据库管理、性能优化、架构设计和高可用性能解决方案方面拥有丰富得实践经验。目前拥有(ORACLE ACE、MYSQL OCP、PG ACE、PGCA、PGCE、PGCM)等数据库认证。

环境

db:oracle 19.14 rac 双节点 os:redhat7.9

背景

  • 6月21、22、23日3天,业务系统在下午16点左右出现无法使用的情况,前后找了其它dba看,没找出问题,在24日朋友联系到我,让我看看是怎么回事?

故障排查

  • 21日系统日志
  • 21日数据库日志
  • 集群日志也是类似的错误,这里未截图。

故障诊断和处理

  • 问题发生原因上面也可以看到,由于操作系统内存没有了,导致系统调用oom killer杀掉了一些进程。也进一步说明了该服务器目前的内存相关参数无法满足实际业务运行,通过如下的调整暂时处理了该问题:
--最核心的参数为:vm.min_free_kbytes

vm.dirty_ratio=20
vm.dirty_background_ratio=3
vm.dirty_writeback_centisecs=100
vm.dirty_expire_centisecs=500
vm.min_free_kbytes=x
  • 参考 #Oracle Linux:vm.min_free_kbytes内核优化参数的建议值(文档 ID 2501269.1)
  • 参考:Troubleshooting ORA-27300 ORA-27301 ORA-27302 Errors (Doc ID 579365.1)

总结

  • 通过处理,数据库暂未卡死业务无法使用情况。