RAC11G场景下OLR文件丢失导致节点GI无法启动

news2024/12/21 19:56:13

环境说明

RHEL7.9+11.2.0.4 RAC,双节点。

问题描述

巡检发现节点2的GI无法启动,发现是olr文件丢失导致。

问题复现

故意把OLR删掉,重启后发现GI无法启动

查看/etc/oracle/olr.loc

--查看/etc/oracle/olr.loc  该文件记录有olr文件位置和gi_home位置
[root@orcl01:/root]$ cat /etc/oracle/olr.loc
olrconfig_loc=/u01/app/11.2.0/grid/cdata/orcl01.olr
crs_home=/u01/app/11.2.0/grid

删除olr文件

节点1

--删除olr文件
节点1
cd /u01/app/11.2.0/grid/cdata/
rm -f orcl01.olr

节点2

节点2 
cd /u01/app/11.2.0/grid/cdata/
rm -f orcl02.olr

重启GI

crsctl stop crs 只对本地节点生效

节点1

--重启GI
crsctl stop crs
crsctl start crs

--检查GI状态
crsctl check crs

输出如下:

[root@orcl01:/u01/app/11.2.0/grid/cdata]$ crsctl start crs
CRS-4640: Oracle High Availability Services is already active
CRS-4000: Command Start failed, or completed with errors.

[root@orcl01:/u01/app/11.2.0/grid/cdata]$ crsctl check crs
CRS-4638: Oracle High Availability Services is online
CRS-4535: Cannot communicate with Cluster Ready Services
CRS-4530: Communications failure contacting Cluster Synchronization Services daemon
CRS-4534: Cannot communicate with Event Manager

节点2

--重启GI
crsctl stop crs
crsctl start crs

--检查GI状态
crsctl check crs

输出如下:

[root@orcl02:/u01/app/11.2.0/grid/cdata]$ crsctl start crs
CRS-4124: Oracle High Availability Services startup failed.
CRS-4000: Command Start failed, or completed with errors.

[root@orcl02:/u01/app/11.2.0/grid/cdata]$ crsctl check crs
CRS-4639: Could not contact Oracle High Availability Services

分析过程

由于问题是节点2的GI无法启动,首先需要确认GI启动到了哪一个阶段

确认 GI启动到了哪一个阶段

su - grid
crsctl stat res -t -init

输入如下:

--节点1:
[root@orcl01:/u01/app/11.2.0/grid/cdata]$ crsctl stat res -t -init
--------------------------------------------------------------------------------
NAME           TARGET  STATE        SERVER                   STATE_DETAILS
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.asm
      1        OFFLINE OFFLINE                               Instance Shutdown
ora.cluster_interconnect.haip
      1        OFFLINE OFFLINE
ora.crf
      1        ONLINE  ONLINE       orcl01
ora.crsd
      1        OFFLINE OFFLINE
ora.cssd
      1        OFFLINE OFFLINE
ora.cssdmonitor
      1        OFFLINE OFFLINE
ora.ctssd
      1        OFFLINE OFFLINE
ora.diskmon
      1        OFFLINE OFFLINE
ora.evmd
      1        OFFLINE OFFLINE
ora.gipcd
      1        ONLINE  ONLINE       orcl01
ora.gpnpd
      1        ONLINE  ONLINE       orcl01
ora.mdnsd
      1        ONLINE  ONLINE       orcl01

--节点2:
[root@orcl02:/u01/app/11.2.0/grid/cdata]$ crsctl stat res -t -init
CRS-4639: Could not contact Oracle High Availability Services
CRS-4000: Command Status failed, or completed with errors.

ohasd层面都没有启动,有可能是/etc/inittab中启动集群的init.ohasd 脚本没有被调用,或者是ohasd.bin守护进程没有启动成功。

/u01/app/11.2.0/grid/crs/init/init.ohasd

/u01/app/11.2.0/grid/crs/utl/init.ohasd

查看进程

ps -ef | grep has

输出如下:

--节点1:
[root@orcl01:/u01/app/11.2.0/grid/cdata]$ ps -ef | grep has
root       900     1  0 09:35 ?        00:00:00 /bin/sh /etc/init.d/init.ohasd run >/dev/null 2>&1 </dev/null
root      1358     1  0 09:35 ?        00:01:10 /u01/app/11.2.0/grid/bin/ohasd.bin reboot

--节点2:
[root@orcl02:/u01/app/11.2.0/grid/cdata]$ ps -ef | grep has
root       888     1  0 09:35 ?        00:00:00 /bin/sh /etc/init.d/init.ohasd run >/dev/null 2>&1 </dev/null

根据上面的输出可推出 init.ohasd 脚本的确被调用了,而且 ohasd.bin 守护进程也已经被启动那么问题在于 ohasd 没有被成功启动。因此,需要看一下ohasd 的日志文件以进行分析。

查看ohasd 的日志文件以进行分析

ohasd 的日志文件位置:<gi_home>/log/<节点>/ohasd/ohasd.log

节点1

su - grid
cd $ORACLE_HOME/log/orcl01/ohasd/
tail -300f ohasd.log

输出如下:

节点2

su - grid
cd $ORACLE_HOME/log/orcl02/ohasd/
tail -300f ohasd.log

输出如下:

2024-08-13 16:22:36.018: [ default][3782379328] OHASD Daemon Starting. Command string :restart
2024-08-13 16:22:36.018: [ default][3782379328] Initializing OLR
2024-08-13 16:22:36.019: [  OCROSD][3782379328]utopen:6m': failed in stat OCR file/disk /u01/app/11.2.0/grid/cdata/orcl02.olr, errno=2, os err string=No such file or directory
2024-08-13 16:22:36.019: [  OCROSD][3782379328]utopen:7: failed to open any OCR file/disk, errno=2, os err string=No such file or directory
2024-08-13 16:22:36.019: [  OCRRAW][3782379328]proprinit: Could not open raw device
2024-08-13 16:22:36.019: [  OCRAPI][3782379328]a_init:16!: Backend init unsuccessful : [26]
2024-08-13 16:22:36.019: [  CRSOCR][3782379328] OCR context init failure.  Error: PROCL-26: Error while accessing the physical storage Operating System error [No such file or directory] [2]
2024-08-13 16:22:36.019: [ default][3782379328] Created alert : (:OHAS00106:) :  OLR initialization failed, error: PROCL-26: Error while accessing the physical storage Operating System error [No such file or directory] [2]
2024-08-13 16:22:36.019: [ default][3782379328][PANIC] OHASD exiting; Could not init OLR
2024-08-13 16:22:36.019: [ default][3782379328] Done.

无法访问 OLR 导致的GI启动失败

查看OLR文件是否存在

OLR 的确不存在,问题的原因是 2个节点的OLR 丢失。

补充:

OLR文件位置:<gi_home>/cdata

OLR文件备份位置:<gi_home>/cdata/<节点>

节点1

[grid@orcl01:/u01/app/11.2.0/grid]$ cd /u01/app/11.2.0/grid/cdata/
[grid@orcl01:/u01/app/11.2.0/grid/cdata]$ ls -l
total 0
drwxr-xr-x. 2 grid oinstall  6 Aug 18  2023 localhost
drwxr-xr-x. 2 grid oinstall 40 Aug 18  2023 orcl01
drwxrwxr-x. 2 grid oinstall 97 Aug 13 15:59 orcl-cluster

节点2

[grid@orcl02:/home/grid]$ cd /u01/app/11.2.0/grid/cdata/
[grid@orcl02:/u01/app/11.2.0/grid/cdata]$ ls -l
total 0
drwxr-xr-x. 2 grid oinstall  6 Aug 18  2023 localhost
drwxr-xr-x. 2 grid oinstall 40 Aug 18  2023 orcl02
drwxrwxr-x. 2 grid oinstall 97 Jun 21 18:32 orcl-cluster

解决办法

由于OLR默认会在 GI安装时产生备份,可以从默认的备份位置进行恢复。

OLR文件位置:<gi_home>/cdata

OLR文件备份位置:<gi_home>/cdata/<节点>

检查备份 OLR 文件是否存在

节点1

cd /u01/app/11.2.0/grid/cdata/orcl01
ls -l 

输出如下:

[root@orcl01:/u01/app/11.2.0/grid/cdata]$ cd /u01/app/11.2.0/grid/cdata/orcl01
[root@orcl01:/u01/app/11.2.0/grid/cdata/orcl01]$ ls -l
total 6628
-rw-------. 1 root root 6787072 Aug 18  2023 backup_20230818_082650.olr

节点2

cd /u01/app/11.2.0/grid/cdata/orcl02
ls -l 

输出如下:

[root@orcl02:/root]$ cd /u01/app/11.2.0/grid/cdata/orcl02
[root@orcl02:/u01/app/11.2.0/grid/cdata/orcl02]$ ls -l
total 6628
-rw-------. 1 root oinstall 6787072 Aug 18  2023 backup_20230818_083142.olr

恢复OLR文件

需使用root用户操作。

必须先手动创建touch orcl02.olr 文件,不然恢复OLR文件会报如下错误:

[root@orcl01:/root]$ cd /u01/app/11.2.0/grid/bin/
[root@orcl01:/u01/app/11.2.0/grid/bin]$ ./ocrconfig -local -restore /u01/app/11.2.0/grid/cdata/orcl01/backup_20230818_082650.olr
PROTL-35: The configured OLR location is not accessible.

节点1

cd /u01/app/11.2.0/grid/cdata
touch orcl01.olr
cd /u01/app/11.2.0/grid/bin/
./ocrconfig -local -restore /u01/app/11.2.0/grid/cdata/orcl01/backup_20230818_082650.olr

节点2

cd /u01/app/11.2.0/grid/cdata
touch orcl02.olr
cd /u01/app/11.2.0/grid/bin/
./ocrconfig -local -restore /u01/app/11.2.0/grid/cdata/orcl02/backup_20230818_083142.olr

问题处理

PROTL-35: The configured OLR location is not accessible.
--问题描述
恢复OLR文件报错
[root@orcl01:/root]$ cd /u01/app/11.2.0/grid/bin/
[root@orcl01:/u01/app/11.2.0/grid/bin]$ ./ocrconfig -local -restore /u01/app/11.2.0/grid/cdata/orcl01/backup_20230818_082650.olr
PROTL-35: The configured OLR location is not accessible.

--解决办法
cd /u01/app/11.2.0/grid/cdata
touch orcl01.olr
cd /u01/app/11.2.0/grid/bin/
./ocrconfig -local -restore /u01/app/11.2.0/grid/cdata/orcl01/backup_20230818_082650.olr

启动GI

启动成功。

crsctl start crs -all

知识点补充

从版本 11gR2版本开始,ohasd 变成了集群启动的唯一始点,而所有的其他守护进程和集群管理的资源统统被定义为资源。OCR是用于保存 CRSD所管理的资源的注册表,但是在CRSD启动之前集群还有很多初始化资源(例如asm实例)需要启动,所以只有 OCR是不够的。Oracle在11gR2版本中推出了另一个集群注册表OLR(Oracle Local Registry)。

OLR是保存在本地的集群注册表,也就是说OLR是保存在每个节点本地的而且其中的信息大部分是针对每个节点的。OLR的主要作用就是为ohasd守护进程提供集群的配置信息和初始化资源的定义信息。

当集群启动时ohasd 会从/etc/oracle/olr.1oc文件(不同平台,文件位置会不同)中读取 OLR的位置,OLR默认保存在<gi_home>/cdata下,文件名为<节点名 >.olr。

OLR的备份策略和OCR的有所不同,默认情况下GI在初始安装时会在路径<gi_home>/cdata/<节点>下产生一个备份。

[root@orcl01:/root]$ cat /etc/oracle/olr.loc
olrconfig_loc=/u01/app/11.2.0/grid/cdata/orcl01.olr
crs_home=/u01/app/11.2.0/grid

OLR文件位置:<gi_home>/cdata

OLR文件备份位置:<gi_home>/cdata/<节点>

参考链接:由于丢失OLR导致的节点无法启动_the configured olr location is not accessible-CSDN博客

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

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

相关文章

密探 -- 渗透测试工具 v1.14 版

1.如何运行 在jdk8环境下&#xff08;在jdk8以上的高版本请参考常见问题1的处理方案&#xff09;运行以下语句运行: java -jar mitan-jar-with-dependencies.jar 若不想输入这么长太长语句&#xff0c;可以通过以下脚本的方式启动&#xff1a; Mac/Linux 环境下&#xff0c;…

计算机网络——运输层(进程之间的通信、运输层端口,UDP与TCP、TCP详解)

运输层协议概述 进程之间的通信 运输层向它上面的应用层提供通信服务。 当网络边缘部分的两台主机使用网络核心部分的功能进行端到端的通信时&#xff0c;都要使用协议栈中的运输层&#xff1b;而网络核心部分中的路由器在转发分组时只用到下三层的功能。 Q1&#xff1a;我们…

【最短路径算法】

每日格言&#xff1a;想去的地方很遥远&#xff0c;我们也只能自己走 前言 最短路径算法是一类用于解决图中两点间寻找最短路径问题的算法。这里我们只具体介绍利用matlab中的函数实现&#xff0c;迪克斯特拉算法和弗洛伊德算法大家有兴趣可上网了解一下。这类算法在多个领域都…

安全稳定的镭速高端制造业文件传输摆渡系统

在现代制造业的高速发展中&#xff0c;高端制造领域尤为依赖高效的文件传输系统&#xff0c;这类系统不仅促进了企业内部的合作&#xff0c;还加强了与合作伙伴的紧密联系&#xff0c;成为推动创新和决策的关键因素。镭速文件传输系统正是为了满足这一需求而设计&#xff0c;其…

KamaCoder 102. 沉没孤岛

题目描述&#xff1a; 给定一个由 1&#xff08;陆地&#xff09;和 0&#xff08;水&#xff09;组成的矩阵&#xff0c;岛屿指的是由水平或垂直方向上相邻的陆地单元格组成的区域&#xff0c;且完全被水域单元格包围。孤岛是那些位于矩阵内部、所有单元格都不接触边缘的岛屿…

如何做好小程序评论优化

用户在决定要不要用一个小程序时&#xff0c;往往会参考其他用户的评分和评论。因此小程序评论优化是提升用户互动和口碑传播的关键环节。以下是一些针对小程序评论优化的具体策略&#xff1a; 1. 优化评论区设计 确保用户能够轻松找到并访问评论区。可以在小程序的显眼位置设…

netassist TCP测试工具使用

写在前面 有时工作中我们编写一些tcp相关的程序&#xff0c;而netassist就是这样一款辅助我们进行TCP功能测试的工具&#xff0c;你可以从这里下载。 1&#xff1a;使用 我们需要一个server程序&#xff0c;可以参考这篇文章&#xff0c;启动server后&#xff0c;就可以使用…

集美大学携手和鲸与龙船,深化“航运+AI”学科建设,赋能航海人才培养

“闽国扬帆去&#xff0c;蟾蜍亏复圆。” ——唐贾岛 《忆江上吴处士》 人类探索海洋的脚步从未停止。昔日&#xff0c;闽地的先民眺望浩瀚大海&#xff0c;叹其无垠难测&#xff1b;如今&#xff0c;海洋科学与人工智能的交叉融合正引领着新一轮的探索浪潮&#xff0c;成为不…

智能学习系统

摘 要 随着信息技术和网络技术的飞速发展&#xff0c;人类已进入全新信息化时代&#xff0c;传统管理技术已无法高效&#xff0c;便捷地管理信息。为了迎合时代需求&#xff0c;优化管理效率&#xff0c;各种各样的智能学习系统应运而生&#xff0c;各行各业相继进入信息管理时…

高性价比运动耳机有哪些?五大高性价比运动耳机分享

对于很多人来说&#xff0c;音乐都是日常生活中不可或缺的一部分&#xff0c;在路上随处可见戴着耳机的人打发无聊的时间。相对于传统的入耳式耳机来说&#xff0c;市面上涌现了一批开放式耳机&#xff0c;它们凭借其开放不塞耳的特性&#xff0c;能够适应多种场景&#xff0c;…

telegraf、influxdb、grafana安装配置

InfluxDB&#xff08;时序数据库&#xff09;&#xff0c;常用的一种使用场景&#xff1a;监控数据统计。 grafana&#xff0c;用作监控页面的前端展示。 telegraf&#xff0c;数据采集器。 一、Influxdb安装及配置 下载&#xff1a;wget https://dl.influxdata.com/influx…

RFID无线测温系统,守护电厂安全运行的关键力量

一、RFID无线测温系统概述 RFID无线测温系统主要由传感器、数据传输装置和监控中心三部分组成。 传感器是系统的感知前端&#xff0c;通常采用RFID技术&#xff0c;能够实时感知温度变化。例如&#xff0c;在一些应用中&#xff0c;RFID传感器可以安装在电力设备的关键部位&a…

【Python快速入门和实践014】Python常用脚本-批量重命名指定文件夹下文件名字

一、功能讲解 这段代码是一个用于批量重命名文件的Python脚本。它的主要功能是在文件名前添加一定数量的前导零&#xff0c;使得所有文件名的长度保持一致。这对于管理大量文件&#xff0c;特别是当文件名需要按照特定顺序排列时非常有用。 导入必要的模块&#xff1a; os: 用于…

SiLM5932SHO系列SiLM5932SHOCG-DG 12A/12A强劲驱动电流能力 支持主动短路保护功能(ASC)单通道隔离门极驱动器

SiLM5932SHO系列是一款单通道隔离驱动器&#xff0c;提供12A源电流和12A灌电流。主动保护功能包括退饱和过流检测、UVLO、隔离故障报警和 4A 米勒钳位。输入侧电源的工作电压为3V至5.5V&#xff0c;输出侧电源的工作电压范围为13V至30V。所有电源电压引脚都有欠压锁定 (UVLO) 保…

golang基于WMI获取所有外接硬盘(USB,移动硬盘)信息

golang基于WMI获取所有外接硬盘(USB,移动硬盘)信息 package mainimport ("fmt""regexp""github.com/StackExchange/wmi""github.com/shirou/gopsutil/v3/disk" )// 定义 WMI 类结构体 type Win32_LogicalDiskToPartition struct {Ant…

Alleviating Hallucination in Multi-Modal Large Language Models

OPERA: Alleviating Hallucination in Multi-Modal Large Language Models via Over-Trust Penalty and Retrospection-Allocation 文章汇总 当前的问题发现 如图&#xff0c;在模型生成幻觉内容时&#xff0c;最后一层的 Self-Attention 权重大概率会在幻觉部分之前呈现出明…

【el-table】横向滚动条加粗后,滚动到固定列下被遮挡,已解决

横向滚动条按要求加粗后&#xff0c;遇到的问题&#xff1a;列表的操作列是固定在最右侧的&#xff0c;当滚动条滑动到最右侧的时候&#xff0c;滚动条被遮挡了 我尝试了几种方法都不行&#xff0c;比如找到.el-table__fixed-right .el-table__fixed-footer-wrapper &#xff…

LoadRunner12添加集合点

集合点的含义和意义&#xff1a; 集合点用于保证真正的并发。当脚本运行到集合点函数时&#xff0c;将停止运行并等待其允许运行的条件(即集合点策 略)&#xff0c;达到后才释放集合点开始运行。用来分析软件性能瓶颈。 一般将集合点放在开始事务代码之前。 通常来说集合点不需…

Vue2 axios

1.安装引入 axios npm i axios 2.配置代理 1.配置代理(方式一) module.exports {devServer: {proxy: http://localhost:5000} } 1.发送ajax请求 getStudent(){axios.get(http://localhost:8080/students).then(res>{console.log(请求成功了,res.data);},error>{co…

大咖公开课 | AI自动化应用开发,让创意与效率并驾齐驱!

在这个日新月异的时代&#xff0c;人工智能&#xff08;AI&#xff09;与自动化技术的融合正以前所未有的速度重塑着各行各业。你是否梦想过&#xff0c;在信息的海洋中自动筛选出精华&#xff0c;用创意点亮每一篇内容&#xff0c;同时让繁琐的工作流程变得轻松高效&#xff1…