Oracle-OCR掉盘无法启动集群问题

news2024/12/28 6:25:43

问题背景:

        用户在对一套Oracle11.2.0.4的RAC集群进行OCR掉盘测试,验证NORMAL冗余的OCR磁盘组的可用性。测试通过将udev配置里面的一块OCR盘注释,然后重启服务器集群模拟OCR磁盘组出现掉盘的情况。用户在测试中,注释掉udev配置里面的一块OCR磁盘asm-ocr02之后,重启集群没有按照预想依靠剩余两块OCR磁盘asm-ocr01/asm-ocr03正常启动,因此,想分析集群在丢掉一块OCR盘之后为什么无法正常启动以及NORMAL冗余的OCR磁盘组,磁盘组是否具备冗余作用。

问题分析:

        检查集群的进程状态和启动alert日志,可以看到集群只有OHASD服务进程启动,在启动OCSSD进程时失败停止。

936aa1c0f29a5e53b7882e2b09dd8bfc.png

        检查OCSSD进程的trc日志,可以看到OCSSD进程只成功确认了asm-ocr03磁盘的状态,asm-ocr01磁盘也被OCSSD进程发现,但由于从asm-ocr01磁盘发现的cluster guid与gpnp profile里面的guid不匹配,导致该磁盘不能被OCSSD进程所使用,因此,当前OCSSD进程只发现了一块OCR盘,不满足至少两块OCR磁盘的要求,所以集群无法正常启动。

 

969f373fb800917e70f1b221c16770c6.png

        检查节点本地的gpnp profile里面的cluster guid信息,跟OCSSD进程日志日志里面显示的一致,都为29ef4e111ef36f9bbf235c90fbfe2bbb,进一步排查cluster guid不一致的原因。

 

8a976a8fa76b608a39854fcfcccaed80.png

        cluster guid不一致,除了OCR磁盘属于其他集群和集群安装问题导致之外,还有可能是磁盘之前已经被从OCR磁盘组剔除导致,检查asm的alert日志,可以看到OCRDG之前已经drop过disk ocrdg_0000,从磁盘号来看这个磁盘应该就是asm-ocr01。

bde27d4db53c807dc5b9530b3fe9d8b7.png

        为了验证以上分析,我们先将udev配置里面注释的asm-ocr02磁盘恢复正常,让集群可以正常的启动,然后再次查看OCR磁盘组使用情况,可以看到磁盘asm-ocr01的确已经被剔除OCR磁盘组,所以检查asm-ocr01会发现cluster guid不一致的情况

 

8e9604206a3d5bb699273511d9a86310.png

问题修复:

        需要先将asm-ocr01通过force add disk或是dd磁盘头再add disk的方式重新加回OCR磁盘组,再重新进行掉盘测试。

        在进行掉盘测试时,集群OHASD,OCSSD进程可以正常启动,但CRSD服务进程会无法正常启动,这是由于OCR磁盘组无法自动正常挂载导致,因为掉的OCR磁盘还没正式从OCR磁盘组里面删除,所以自动mount的时候会发现磁盘找不到的问题,出现以下ORA-15032/15040/15042错误:

        ORA-15032: not all alterations performed

        ORA-15040: diskgroup is incomplete

        ORA-15042: ASM disk "0" is missing from group number "2"

        在这种情况下可以通过手动强制alter diskgroup OCRDG mount force的方式,将OCR磁盘组强制拉起,然后再恢复集群的CRSD服务以及数据库。

 

Tip:欢迎关注公众号:勇敢牛牛的笔记,超100+的原创内容,每周不定期更新数据库技术文章

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1634105.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

嵌入式开发_DMA详解

在嵌入式开发的广阔天地中,MCU是众多开发者手中的利器。而DMA(Direct Memory Access,直接内存访问)技术,则如同一位高效的快递小哥,穿梭于处理器与外设之间,无需CPU亲自出马,高效地搬…

正点原子[第二期]Linux之ARM(MX6U)裸机篇学习笔记-8.1

前言: 本文是根据哔哩哔哩网站上“正点原子[第二期]Linux之ARM(MX6U)裸机篇”视频的学习笔记,在这里会记录下正点原子 I.MX6ULL 开发板的配套视频教程所作的实验和学习笔记内容。本文大量引用了正点原子教学视频和链接中的内容。…

【工具】--- Adobe Illustrator 下载-入门绘图

文章目录 软件下载入门项目可看课程 尝试使用Adobe Illustrator(设计师常用软件)进行科研绘图。 软件下载 阿里云盘下载 入门项目 绘制一个箭头并保持为SVG, 直线->画线->窗口->描边->选择想要的箭头样式->颜色->改为蓝…

众筹商城源码 众筹商品平台 商城加共识元富之路 网上商城众筹

众筹商城源码 众筹商品平台 商城加共识元富之路 网上商城众筹 前端是编译后的,后端PHP,带商城 源码下载:https://download.csdn.net/download/m0_66047725/89161734 更多资源下载:关注我。

mybatis工程需要的pom.xml,以及@Data 、@BeforeEach、@AfterEach 的使用,简化mybatis

对 “mybatis - XxxMapper.java接口中方法的参数 和 返回值类型&#xff0c;怎样在 XxxMapper.xml 中配置的问题” 这篇文章做一下优化 这个pom.xml文件&#xff0c;就是上面说的这篇文章的父工程的pom.xml&#xff0c;即&#xff1a;下面这个pom.xml 是可以拿来就用的 <?…

Node.js 版本升级方法

在构建vue项目时&#xff0c;依赖npm&#xff08;Node Package Manager&#xff09;工具&#xff0c;类似于Java项目需要maven管理。而npm是node.js的管理工具&#xff0c;npm依赖node.js环境才能执行。 有时候使用voscode或者其他工具安装vue项目依赖&#xff0c;显示一直处于…

【自然语言处理】Word2VecTranE的实现

作业一 Word2Vec&TranE的实现 1 任务目标 1.1 案例简介 Word2Vec是词嵌入的经典模型&#xff0c;它通过词之间的上下文信息来建模词的相似度。TransE是知识表示学习领域的经典模型&#xff0c;它借鉴了Word2Vec的思路&#xff0c;用“头实体关系尾实体”这一简单的训练目…

【Vue3】Ref与Reactive

3.1【ref 创建&#xff1a;基本类型的响应式数据】 作用&#xff1a;定义响应式变量。语法&#xff1a;let xxx ref(初始值)。返回值&#xff1a;一个RefImpl的实例对象&#xff0c;简称ref对象或ref&#xff0c;ref对象的value属性是响应式的。注意点&#xff1a; JS中操作数…

【在线名字作画HTML源码】

在线名字作画HTML源码 效果图部分源码领取源码下期更新预报 效果图 部分源码 index.htm <!DOCTYPE html> <html> <head> <title>在线名字作画|民间花鸟字|多彩花鸟虫鱼组合书法|藏字画|字谜语|飞帛板书|意匠文字</title> <meta http-equiv&…

Profinet转Modbus网关接称重设备与1200PLC通讯

Profinet转Modbus网关&#xff08;XD-MDPN100&#xff09;是一种能够实现Modbus协议和Profinet协议之间转换的设备。Profinet转Modbus网关可提供单个或多个RS485接口&#xff0c;使用Profinet转Modbus网关将称重设备与西门子1200 PLC进行通讯&#xff0c;可以避免繁琐的编程和配…

【C++】深入了解C++内存管理

个人主页&#xff1a;救赎小恶魔 欢迎大家来到小恶魔频道 好久不见&#xff0c;甚是想念 今天我们要深入讲述类与对象的初始化列表以及隐式类型转换 目录 1.C的内存分布 2.C/C言中动态内存管理方式 1.C语言的管理方式 2.C的管理方式 new delete 3.operator new与ope…

如何删除BigKey

1.2.3、如何删除BigKey BigKey内存占用较多&#xff0c;即便时删除这样的key也需要耗费很长时间&#xff0c;导致Redis主线程阻塞&#xff0c;引发一系列问题。 redis 3.0 及以下版本 如果是集合类型&#xff0c;则遍历BigKey的元素&#xff0c;先逐个删除子元素&#xff0c;…

为什么选择OpenNJet?OpenNJet下一代云原生应用引擎!OpenNJet开发实战!

前言导读 在当今这个数字化转型加速的时代&#xff0c;云原生技术已成为企业和开发者构建现代应用的首选路径。OpenNJet作为新一代云原生应用引擎&#xff0c;在国内外技术社区受到了广泛关注。 本文将深入探讨OpenNJet的特点、优势以及在开发实践中的应用&#xff0c;带您全…

深度学习基础之《TensorFlow框架(16)—神经网络案例》

一、mnist手写数字识别 1、数据集介绍 mnist数据集是一个经典的数据集&#xff0c;其中包括70000个样本&#xff0c;包括60000个训练样本和10000个测试样本 2、下载地址&#xff1a;http://yann.lecun.com/exdb/mnist/ 3、文件说明 train-images-idx3-ubyte.gz: training s…

vscode 配置与插件记录

vscode插件 python PythonPython DebuggerruffisortPylanceJupyterJupyter KeymapJupyter Slide ShowJupyter Cell TagsautoDocstring - Python Docstring Generator ruff isort pylance autodocsting 在setting.json里这么配置&#xff0c;这样你保存时就会自动format…

【酱浦菌-爬虫项目】爬取学术堂论文信息

1. 首先&#xff0c;代码定义了一个名为 url 的变量&#xff0c;它是一个包含三个网址的集合&#xff08;或者说是一个集合的字典&#xff09;。这些网址分别是&#xff1a; - ‘http://www.xueshut.com/lwtimu/127966.html’ - ‘http://www.xueshut.com/lwtimu/12…

您可知道如何通过`HTTP2`实现TCP的内网穿透???

可能有人很疑惑应用层 转发传输层&#xff1f;&#xff0c;为什么会有这样的需求啊&#xff1f;&#xff1f;&#xff1f;哈哈技术无所不用其极&#xff0c;由于一些场景下&#xff0c;对于一个服务器存在某一个内部网站中&#xff0c;但是对于这个服务器它没有访问外网的权限&…

《ElementPlus 与 ElementUI 差异集合》el-dialog 显示属性有差异

ElementPlus 用属性 v-model ElementUI 用属性 visible 其实也是 Vue2/Vue3 的差异&#xff1a;v-model 指令在组件上的使用已经被重新设计&#xff0c;替换掉了 v-bind.sync

新质生产力实践,我用chatgpt开发网站

是的&#xff0c;我用chatgpt开发了一个网站&#xff0c;很轻松。 我之前一点不懂前端&#xff0c;也没有网站开发的代码基础&#xff0c;纯正的0基础。 从0开始到最后成品上线&#xff0c;时间总计起来大致一共花了2-3周的时间。 初始想法我是想给我公司开发一个网站&#…

C# wpf 运行时替换方法实现mvvm自动触发刷新

文章目录 前言一、如何实现&#xff1f;1、反射获取属性2、定义替换方法3、交换属性的setter方法 二、完整代码1、接口2、项目 三、使用示例1、倒计时&#xff08;1&#xff09;、继承ViewModelBase&#xff08;2&#xff09;、定义属性&#xff08;3&#xff09;、属性赋值&am…