高可用失灵:交换机导致Oracle集群故障致机场停运

简介:


最近日本的一则数据库故障引发了全日航空(ANA)航班停运,被广泛关注。


据日本《产经新闻》3月22日报道,日本全日空航空公司(ANA)的国内航班系统22日8时20分开始发生故障,导致旅客无法办理登机手续,目前正在逐步恢复。但截至22日下午2时,已有超过120架航班停航

今年2月24日,ANA国内航班系统就曾经发生故障,但30分种后修复,导致一部分航班晚点起飞。在2007年5月27日和2008年9月14日,也出现超过400架航班晚点或停航的故障。报道称,此次故障导致在羽田机场、大阪机场、那霸机场等出发的飞机出现延误。目前正在调查原因。

近日,网友提供了此次故障进一步的详细原因

【全日空发生系统故障120个航班被取消】日本全日空航空公司(ANA)的国内航班系统3月22日发生故障,乘客无法办理登机手续、订票系统也瘫痪。发生ORA-29740错误,Oracle节点被踢出集群,若干数据库实例宕掉。可能是网络交换机故障引起的集群心跳信号传递异常,最后更换了交换机。


在Oracle的手册中,对于ORA-29740描述如下:

Description:Evicted by member string, group incarnation string

Error Cause:This member was evicted from the group by another member of the cluster database for one of several reasons, which may include a communications error in the cluster, failure to issue a heartbeat to the control file, etc.

Action:Check the trace files of other active instances in the cluster group for indications of errors that caused a reconfiguration.

其主要描述是指:RAC节点被集群中其他节点因故驱逐。


正常情况下,Oracle的RAC多节点就是为了实现业务连续性和高可用,一个节点故障通常不会引起整个数据库不可用。但是在这次事故中,显然服务全部失去。网友透漏的消息称:可能是网络交换机故障引起的异常,最后更换了交换机。

进一步的消息指出:

导致全日空(ANA)120个航班被取消的票务系统故障是CISCO交换机引起的】造成Oracle Cache Fusion的UDP通讯异常,4节点的Oracle RAC无法重组集群。本来交换机是有主备设计的,但是主交换机并未彻底坏掉,而是处于不稳定状态,备用交换机不知道主交换机出了故障所以没有接管。


以上爆料的消息指出,交换机故障,处于不稳定状态,备用交换机未接管,导致Oracle RAC集群无法重组,故障蔓延至全局。


在Oracle RAC集群环境中,类似故障最常见的情形是,当实例间发生通讯故障等,故障实例不能发送心跳信息(heartbeat)时,为避免数据损坏,失败节点会执行自我驱逐(Evict Self)以脱离集群组,节点驱逐的过程会抛出ORA-29740错误,记录在Alert日志中,并生成跟踪文件。

在节点驱逐之后,数据库还需要实现集群重配置,与此相关的概念有Instance Membership Recovery (IMR),Instance Membership Reconfiguration.常见的故障信息类似如下:

opiodr aborting process unknown ospid (75852) as a result of ORA-28

LMON (ospid: 767522) detects hung instances during IMR reconfiguration

LMON (ospid: 767522) tries to kill the instance 2.

Please check instance 2’s alert log and LMON trace file for more details.


USER (ospid: 32900426): terminating the instance due to error 481

Errors in file /oracle11g/PROD00/PROD001/trace/PROD001_lmon_767522.trc:

ORA-29702: error occurred in Cluster Group Service operation

System state dump is made for local instance

System State dumped to trace file /oracle11g/PROD00/PROD001/trace/PROD001_diag_9373174.trc

Instance terminated by USER, pid = 32900426


如果检查LMON进程可以看到类似如下信息:

kjxgmrcfg: Reconfiguration started, type 6

CGS/IMR TIMEOUTS:

CSS recovery timeout = 31 sec (Total CSS waittime = 65)

IMR Reconfig timeout = 75 sec

CGS rcfg timeout = 85 sec

kjxgmcs: Setting state to 274 0.


kjxgmpoll: CGS state (274 1) start 0x51482867 cur 0x514828bc rcfgtm 85 sec

kjxgmpoll: the CGS reconfiguration has spent 85 seconds.

kjxgmpoll: terminate the CGS reconfig.

Error: Cluster Group Service reconfiguration takes too long

LMON caught an error 29702 in the main loop

error 29702 detected in background process

ORA-29702: error occurred in Cluster Group Service operation


ANA的系统故障持续超过5个小时,在国内重要企业都应该算得上是重大事故。虽然Oracle RAC集群是久经考验的高可用架构,但是其单点数据存储和集中式架构在极端情况下仍然可能遭遇单点,所以构建可切换的灾备系统或者降级支持系统,对于核心企业业务架构来说是必不可少的。


在当前的企业级架构中,通过双活、灾备、读写分离等解决方案都可以作为数据库高可用的有益补充。云和恩墨持续为提升用户系统高可用而提供不断演进的技术解决方案!


本文出自数据和云公众号,原文链接


相关文章
|
存储 监控 Oracle
Oracle 的集群文件系统(Cluster File System)有哪些特点?
Oracle 集群文件系统(CFS)是 Oracle 集群架构的关键组件,允许多节点共享存储资源。其特点包括:多节点访问和高可用性、确保数据一致性的并发控制与锁管理、通过缓存和负载均衡优化性能、支持动态扩展和分布式架构、提供权限管理和加密保障安全性、与 Oracle RAC 和 ASM 集成,以及具备图形化管理界面和监控工具。
|
存储 Oracle 关系型数据库
数据库数据恢复—ORACLE常见故障的数据恢复方案
Oracle数据库常见故障表现: 1、ORACLE数据库无法启动或无法正常工作。 2、ORACLE ASM存储破坏。 3、ORACLE数据文件丢失。 4、ORACLE数据文件部分损坏。 5、ORACLE DUMP文件损坏。
541 11
|
存储 Oracle 关系型数据库
数据库数据恢复—Oracle ASM磁盘组故障数据恢复案例
Oracle数据库数据恢复环境&故障: Oracle ASM磁盘组由4块磁盘组成。Oracle ASM磁盘组掉线 ,ASM实例不能mount。 Oracle数据库故障分析&恢复方案: 数据库数据恢复工程师对组成ASM磁盘组的磁盘进行分析。对ASM元数据进行分析发现ASM存储元数据损坏,导致磁盘组无法挂载。
|
运维 Oracle 前端开发
Oracle 11g RAC集群日常运维命令总结
Oracle 11g RAC集群日常运维命令总结
661 2
|
负载均衡 算法 光互联
合理使用光互联产品减少万卡集群高性能网络中TOR交换机上行网络的ECMP哈希冲突
本文通过分析万卡集群高性能网络TOR层的ECMP哈希冲突,介绍如何通过使用有源光缆AOC和无源铜缆DAC分支线缆产品来减少ECMP哈希冲突的方法。
405 5
|
Oracle 关系型数据库 数据库
关系型数据库Oracle 故障转移能力
【7月更文挑战第10天】
224 2
|
网络虚拟化
以太网链路聚合与交换机堆叠、集群
以太网链路聚合与交换机堆叠、集群
|
存储 Oracle 关系型数据库
Oracle RAC:数据库集群的舞动乐章
【4月更文挑战第19天】Oracle RAC是Oracle提供的高可用性数据库解决方案,允许多个实例共享同一数据库,确保业务连续性和数据完整性。通过集群件和全局缓存服务实现服务器间的协调和通信。RAC提供高可用性,通过故障转移应对故障,同时提升性能,多个实例并行处理请求。作为数据管理员,理解RAC的架构和管理至关重要,以发挥其在数据管理中的最大价值。

推荐镜像

更多