故障是试金石:从一次Oracle宕机看成熟IT系统的韧性

来源:这里教程网 时间:2026-03-03 22:36:30 作者:

先说感叹,成熟的产品就是出问题都让人放心

  • 上个月有一次有人反馈低代码平台不能用。

  • 一看是低代码的应用停了。这个怎么停了?是只有他停了吗?

  • 再去看看应用连接的数据库也停了。那么就启动数据库吧。

  • 启动以后看看日志,之前发生什么问题了。 image.png

  • 结果从日志上看到从7月23的13点后就没有日志了。然后就是7月28下午15点的启动。

  • 按说不应该啊,一般遇到问题导致异常关闭,应该有错误信号和日志。但是这里明显没有。

  • 仔细想来想去,充分相信Oracle这种成熟的产品如果没有任何记录,那只有一种可能。问题根本不在这里。

  • 那么操作系统会不会有一些信息?毕竟Linux也是成熟的产品。

  • 翻看日志发现一些信息

  • image.png

  • 就日志是 23日下午15点多有OS的重启动作。毕竟这里的Initializing基本可以判断了。从时间可以看到15点26到15点47有20分钟的空档。

  • 果然是成熟的产品即使是出问题也能给我们留下定位的数据。

  • 相比较而言很多应用系统做的有问题了,Java FULL GC了。需要手工去dump才能分析。而Oracle等成熟的产品都把这些必须的记录了下来。非必要的不记录。

  • 那么看看这几天是不是都有这种情况?

  • image.png

  • 很吃惊居然有三次。

    事件还原

  • 23日下午操作系统发生问题重启了。数据库也被关闭了。数据库没有设置自启动。
  • 然后操作系统依然有问题,又发生了两次重启。数据库在关闭状态下经历了两次重启。
  • 这就去问管理主机的人,是不是主机有问题。答复我们是的,只是没告诉我们。有台物理机有问题,上面的虚拟机都受到了影响。(所以低代码的应用也被关闭了,这就说得通了)
  • 现在在没有任何人给我们信息情况下,我们基本还原了事情。
  • 本次事情不复杂也不难。我主要想表达成熟的产品让我们定位问题简单。而不成熟的产品让我们无从下手,甚至有种,车辆右转打左转向灯这种错误引导。

  • 相关推荐