记一次rac故障原因分析(虚拟化平台)
一 现象描述
XX客户于1月14号凌晨业务中断,检查数据库发现数据库集群宕机。
XX客户于2月14号春节初五早上业务异常,连接数据库无响应。
二 问题详细诊断
1月14号故障
1月14号凌晨2点,客户反馈业务中断,发现节点1无法连接,客户联系云工程师紧急处理,凌晨4点半节点1可以连接。
节点2连接正常,检查发现节点2集群服务异常。
检查节点2数据库日志发现:
在1点43分节点2等待事件log file parallel write超时80秒,LGWR挂起超过70秒,Lgwr为数据库核心进程,出现异常时会导致数据库不可用。

检查节点2 I/O使用情况:

可以看到在1点42分开始 读写I/O很低的情况下%util跑满,说明I/O已经100%跑满,已经来不及处理。
再查看节点2集群日志

发现在1点50分节点2和节点1的私网通信异常,导致节点2被驱逐。
节点1数据库日志

节点1在1点45分出现ORA错误 检查trc日志文件

发现等待事件为gc等待
由于所有的跨节点访问都会先由lgwr进程写入日志,此时lgwr写入挂起导致无法响应gc请求,紧接着节点1 kill该会话,检测到节点2实例终止然后发起Reconfiguration。
4点13分在主机工程师修复节点1后,启动集群业务恢复正常。
检查节点1操作系统日志,数据库日志,集群日志未发现其他异常。
检查节点1主机重启记录,发现节点1在1点51分已经重启,重启失败操作系统进入救援模式
reboot system boot 3.10.0-1160.el7. Sun Jan 14 01:51 - 03:51 (02:00
2月14号故障
查看节点2数据库日志

在2月14号10点38分 数据库出现lgwr异常,log file parallel write 写入异常。紧接着节点2实例终止。
分析DBA_HIST_ACTIVE_SESS_HISTORY 可以看到在实例重启前会话最终都被gc事件阻塞

三 故障原因
在1月14号的故障中,1点42分节点2 lgwr异常导致节点2在1点43分宕机,节点2在1点50分主机异常重启,重启失败进入救援模式导致整个集群不可用。
在2月14号的故障中,10点37分15秒开始由于节点2 数据库核心进程lgwr异常,导致节点1的gc请求全部挂起,最终导致节点2宕机,在11点05分恢复正常。
在2次故障中,均由于lgwr进程异常挂起等待log file parallel write引起节点宕机,造成该等待事件的原因为磁盘等待IO写入,I/O响应出现了异常。
四 建议
1、将数据库由虚拟机平台迁到更加稳定物理机上。
2、排查虚拟化平台I/O等待的原因并解决。

相关文章:
记一次rac故障原因分析(虚拟化平台)
一 现象描述 XX客户于1月14号凌晨业务中断,检查数据库发现数据库集群宕机。 XX客户于2月14号春节初五早上业务异常,连接数据库无响应。 二 问题详细诊断 1月14号故障 1月14号凌晨2点,客户反馈业务中断,发现节点1无法连接&…...
Vue CLI 3 项目构建
Vue CLI 是一个功能强大、易于使用的工具,可以极大地简化 Vue.js 应用的开发过程。通过快速创建项目、灵活的插件系统和丰富的配置选项,开发者可以更专注于业务逻辑,而不是底层配置。无论是新手还是经验丰富的开发者,Vue CLI 都是…...
1114 Family Property (25)
This time, you are supposed to help us collect the data for family-owned property. Given each persons family members, and the estate(房产)info under his/her own name, we need to know the size of each family, and the average area and n…...
详细介绍Sd-WebUI提示词的语法规则
AI绘画中最大的门槛就是提示词,对英语水平、文学水平、想象力、灵感等要求较高。不能每次一输入正向提示词(positive prompt),就只会写a girl, big eyes, red hair。虽然sd-webui软件可以直接翻译,输入一个子母后会立刻…...
document.body为null问题
调用document.body.append方法出现null的问题,一看就是放在了head中,一种方案是放在最后面,要不就和jquery一样监听,下面是代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8…...
2024国赛A问题5
问题五 龙头最大速度优化模型的建立 问题五在问题四的曲线的基础上对速度进行了约束,即在逐步改变龙头速度的情况下,各个龙身的速度也会依次改变,给出龙头的最大行进速度,使得舞龙队各把手的速度均不超过 2 m/s。即可依此构建一个龙头速度的…...
Kalilinux下MySQL的安装
MySQL是一个广泛使用的开源关系型数据库管理系统,它是最流行的关系型数据库之一。在Kalilinux下安装MySQL可以为我们提供方便的数据库管理和开发环境。本文将介绍如何在Kalilinux中安装MySQL,并提供一些常用的代码示例。 步骤一:更新软件包 …...
文件路径与Resource接口详解
目录 第一章、快速了解文件路径1.1)什么是文件路径?1.1.1)绝对路径1.1.2)相对路径 1.2)重要:相对路径的表示方法1.2.1) ./ 与 ../ 1.3)文件路径与环境变量1.3.1)什么是环境变量1.3.2…...
极狐GitLab 17.7正式发布,可从 GitLab 丝滑迁移至极狐GitLab【二】
GitLab 是一个全球知名的一体化 DevOps 平台,很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab 是 GitLab 在中国的发行版,专门为中国程序员服务。可以一键式部署极狐GitLab。 学习极狐GitLab 的相关资料: 极狐GitLab 官网极狐…...
分布式光纤传感|分布式光纤测温|线型光纤感温火灾探测器DTS|DTS|DAS|BOTDA的行业16年的总结【2024年】
背景: 从2008年,从事分布式光纤传感行业已经过了16年时间了,依稀记得2008年,看的第一遍论文就是中国计量大学张在宣老爷子的分布式光纤测温综述,我的经历算是行业内极少数最丰富的之一。混过学术圈: 发表…...
存储过程实现多个分类不同计算规则得到对应的分类、月份和款号
该存储过程 PRO_MON_MDCODE 实现多个分类不同计算规则得到对应的分类、月份和款号,其中线下分类的款最早出现时间会在20230101,最晚是当前月份后12月,电商的款取商品维表的23,24,25年商品年份的A款,其他业务分类逻辑(A-线上,B电商公司,C品牌公司)的款最早出现时间会在2…...
aj-report本地前后端分离部署运行
github项目地址 aj-report-mine 在源代码v1.4版本基础上,本地进行前后端分离部署开发 这里我是进行了整合,把自己在拉取源代码到成功运行过程中的一些东西直接整合,根据下面的步骤即可成功运行 资源获取 夸克网盘(16-github-aj-report-re…...
CSS 过渡动画效果
在 CSS 中,transition 是用来实现元素属性平滑过渡的一个属性。通过 transition,你可以指定当元素的状态发生变化时,如何在一定时间内平滑地过渡到新的样式,而不是立即跳变。 使用于侧边栏展开和收起了,左侧区域的自适…...
网络安全 - DOS
1.1.1 摘要 最近网络安全成了一个焦点,除了国内明文密码的安全事件,还有一件事是影响比较大的——Hash Collision DoS(通过Hash碰撞进行的拒绝式服务攻击),有恶意的人会通过这个安全漏洞让你的服务器运行巨慢无比&…...
【强化学习】Stable-Baselines3学习笔记
【强化学习】Stable-Baselines3学习笔记 Stable-Baselines3是什么安装ExampleReinforcement Learning Tips and TricksVecEnv相关在stablebaselines中使用自定义环境 Stable-Baselines3是什么 Stable Baselines3(简称SB3)是一套基于PyTorch实现的强化学习…...
前端真实面试题自用
一、写在前面 笔者,经过计算机学硕考研的失败后,想谋求一份前端工作实在是太难了。一方面,确实曾经学习过的东西很久没有拾起,另一方面,对于前端面经还是记忆不深刻,特地写此贴记录笔者在真实前端面试中遇…...
vue3和springboot使用websocket通信
前端端口:9090 后端端口:8080 vue3 引入依赖: npm install sockjs-client stomp/stompjs vue页面 <template><div><h1>WebSocket 示例</h1><button click"sendMessage">发送消息</button>…...
JS 解构、数组扩展符和模板字符串的常见用法
文章目录 解构1. 对象解构2. 数组解构 数组扩展符模板字符串 解构 1. 对象解构 想把对象中的属性赋值给变量时, 需要一次一次的赋值,很麻烦。而对象解构, 就是把对象的结构拆解开, 然后把拆解后的属性自动赋值给匹配的变量。 (1) 对象属性赋值变量的传统写法&…...
低代码开源项目Joget的研究——Joget7社区版安装部署
大纲 环境准备安装必要软件配置Java配置JAVA_HOME配置Java软链安装三方库 获取源码配置MySql数据库创建用户创建数据库导入初始数据 配置数据库连接配置sessionFactory编译下载tomcat启动下载aspectjweaver移动jw.war文件编写脚本运行 测试参考资料 Joget,作为一款开…...
Golang 为什么没有注解?
Go 的哲学是:“少就是多,显式优于隐式。”注解虽然方便,但会违背 Go 追求简洁和清晰的设计理念。 什么是注解?为什么看起来很实用? 注解的定义:注解是一种特殊的元信息,用于修饰代码(如类、方法、字段等),让程序或工具在运行时或编译时解析和处理这些信息。例如: …...
蓝桥杯 2024 15届国赛 A组 儿童节快乐
P10576 [蓝桥杯 2024 国 A] 儿童节快乐 题目描述 五彩斑斓的气球在蓝天下悠然飘荡,轻快的音乐在耳边持续回荡,小朋友们手牵着手一同畅快欢笑。在这样一片安乐祥和的氛围下,六一来了。 今天是六一儿童节,小蓝老师为了让大家在节…...
Frozen-Flask :将 Flask 应用“冻结”为静态文件
Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是:将一个 Flask Web 应用生成成纯静态 HTML 文件,从而可以部署到静态网站托管服务上,如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...
《通信之道——从微积分到 5G》读书总结
第1章 绪 论 1.1 这是一本什么样的书 通信技术,说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号(调制) 把信息从信号中抽取出来&am…...
【AI学习】三、AI算法中的向量
在人工智能(AI)算法中,向量(Vector)是一种将现实世界中的数据(如图像、文本、音频等)转化为计算机可处理的数值型特征表示的工具。它是连接人类认知(如语义、视觉特征)与…...
多种风格导航菜单 HTML 实现(附源码)
下面我将为您展示 6 种不同风格的导航菜单实现,每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...
AI,如何重构理解、匹配与决策?
AI 时代,我们如何理解消费? 作者|王彬 封面|Unplash 人们通过信息理解世界。 曾几何时,PC 与移动互联网重塑了人们的购物路径:信息变得唾手可得,商品决策变得高度依赖内容。 但 AI 时代的来…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现指南针功能
指南针功能是许多位置服务应用的基础功能之一。下面我将详细介绍如何在HarmonyOS 5中使用DevEco Studio实现指南针功能。 1. 开发环境准备 确保已安装DevEco Studio 3.1或更高版本确保项目使用的是HarmonyOS 5.0 SDK在项目的module.json5中配置必要的权限 2. 权限配置 在mo…...
02.运算符
目录 什么是运算符 算术运算符 1.基本四则运算符 2.增量运算符 3.自增/自减运算符 关系运算符 逻辑运算符 &&:逻辑与 ||:逻辑或 !:逻辑非 短路求值 位运算符 按位与&: 按位或 | 按位取反~ …...
车载诊断架构 --- ZEVonUDS(J1979-3)简介第一篇
我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 做到欲望极简,了解自己的真实欲望,不受外在潮流的影响,不盲从,不跟风。把自己的精力全部用在自己。一是去掉多余,凡事找规律,基础是诚信;二是…...
rm视觉学习1-自瞄部分
首先先感谢中南大学的开源,提供了很全面的思路,减少了很多基础性的开发研究 我看的阅读的是中南大学FYT战队开源视觉代码 链接:https://github.com/CSU-FYT-Vision/FYT2024_vision.git 1.框架: 代码框架结构:readme有…...
