Oracle-opatchauto自动安装补丁失败导致RAC集群异常问题
前言:
近期处理了一起由于opatchauto自动安装补丁失败导致的RAC集群异常问题,用户通过opatchauto进行RAC集群补丁升级,在升级的过程中出现报错失败并且集群也无法再重新启动。
经过分析,确认集群异常的原因为opatchauto安装补丁失败引发执行文件权限产生错误,而opatchauto失败的原因是由于补丁包的权限问题所导致。
问题:
opatchauto进行RAC集群补丁升级,在升级的过程中出现报错失败并且集群也无法再重新启动
---集群启动异常
[root@rac2 Desktop]# /oracle/app/grid_home/bin/crsctl check crs
CRS-4639: Could not contact Oracle High Availability Services
[root@rac2 Desktop]# /oracle/app/grid_home/bin/crsctl start crs
CLSU-00105: operating system interface has reported an internal failure
CLSU-00103: error location: canexec2
CLSU-00104: additional error information: no exe permission, file [/oracle/app/grid_home/bin/ohasd]
问题原因:
集群异常的原因为opatchauto安装补丁失败引发执行文件权限产生错误
opatchauto失败的原因是由于补丁包的权限问题所导致
问题分析:
查看报错为执行文件ohasd文件权限,问题节点的属主为grid,而正常的节点为root
[root@rac2 Desktop]# ls -l /oracle/app/grid_home/bin/ohasd
-rwxr----- 1 grid oinstall 11402 Jul 23 2018 /oracle/app/grid_home/bin/ohasd
对比其他节点的ohasd文件权限,可以发现
---正常节点权限
[root@rac1 Desktop]# ls -l /oracle/app/grid_home/bin/ohasd.bin
-rwxr----- 1 root oinstall 185059583 Jan 15 2022 /oracle/app/grid_home/bin/ohasd.bin
查看opatchauto的补丁安装日志$ORACLE_HOME/cfgtoollogs/opatchauto
opatchauto自动打补丁已经安装完成rdbms的$ORACLE_HOME补丁,并执行完成rdbms的postpatch
再准备对crs的$ORACLE_HOME安装补丁时,发生了配置错误导致opatchauto安装失败
由于opatchauto的命令执行失败,只执行了1-4的步骤,没有执行5-8步骤,导致crs的执行文件权限产生错误,引发了补丁安装失败后,集群的启动异常
---12c opatchauto的大致步骤,
1 执行crs -prepatch,这一步会关闭数据库集群,unlink CRS软件的库文件并修改文件的权限
2 执行rdbms -prepatch unlink rdbms软件的库文件并修改文件的权限
3 RDBM软件的ORACLE_HOME 安装补丁
4 执行rdbms -postpatch link rdbms软件的库文件并修改文件的权限
5 crs软件的ORACLE_HOME 安装补丁
6 执行rootadd_rdbms.sh 修改rdbms软件的文件权限
7 执行crs -postpatch, link CRS软件的库文件并修改为正常的文件权限,启动数据库集群
8 datapatch -verbose数据库应用数据字典(只有最后一个节点执行opatchauto 会进行)
继续检查opatchauto失败的原因,可以发现在执行从补丁包里面拷贝/tmp/33583921/33678030/files/bin/ocrcheck.bin文件时产生错误,根据经验,这种情况通常为权限问题导致
检查补丁包的权限,权限为700,属主为ORACLE.OINSTALL,而这个权限对于grid用户来说是没有操作权限的,所以会导致文件拷贝失败
注意:即使opatchauto是用root用户执行,但实际在进行crs的软件补丁应用时,是使用grid用户权限的
对补丁包授予777的权限,再重新执行自动安装补丁命令
---该命令会从上次失败的步骤开始进行补丁安装,而不是从头安装补丁
opatchauto resume
问题修复,补丁顺利安装完成
RAC集群也恢复正常
[grid@rac2 ~]$ crsctl check crs
CRS-4638: Oracle High Availability Services is online
CRS-4537: Cluster Ready Services is online
CRS-4529: Cluster Synchronization Services is online
CRS-4533: Event Manager is online
总结:
opatchauto进行RAC集群补丁升级,在升级的过程中出现报错失败并且集群也无法再重新启动,经过分析,确认集群异常的原因为opatchauto安装补丁失败引发执行文件权限产生错误,而opatchauto失败的原因是由于补丁包的权限问题所导致。
问题修复:
修改补丁安装包的权限为777,确保grid用户有权限访问,opatchauto顺利安装完成
Oracle-opatchauto自动安装补丁失败导致RAC集群异常问题相关推荐
- Oracle单实例通过DG迁移至RAC集群(Oracle 11g 超详细文档)
实验:Oracle单实例通过DG迁移至RAC集群(Oracle 11g 超详细文档) 步骤1:Oracle单实例搭建 1. 系统环境检查 2. 创建用户.组,配置环境变量.安装目录 3. 安装Orac ...
- 在 Oracle Enterprise Linux 和 iSCSI 上构建您自己的 Oracle RAC 集群(续)
DBA:Linux 下载 Oracle 数据库 11g 标签 linux, rac, clustering, 全部 在 Oracle Enterprise Linux 和 iSCSI 上 ...
- 【RAC】使用一条“ps”命令获取Linux环境下全部RAC集群进程信息
如何仅使用一条ps命令便能获取到所有与RAC集群进程相关的信息. 从所使用的命令角度上看很简单,仅需使用ps命令结合grep命令便能实现.问题关键是需要确定检索哪些关键字. 1.与RAC集群有关的 ...
- oracle asm磁盘标签丢失导致整个集群和数据库启动失败
oracle asm磁盘标签丢失导致整个集群和数据库启动失败 应用环境描述 一.硬件 1. 服务器:2台dell r610-16G内存.2颗6核xeon cpu.2个146G sas盘,做了raid1 ...
- linux下安装oracle集群,【Oracle 集群】Linux下Oracle RAC集群搭建之Oracle DataBase安装(八)...
目录 数据库安装 继oracle集群安装之后,接下来也是最重要的数据库安装,整个数据库安装难度不大,用户以oracle用户身份登录RAC1主节点,对解压后的文件安装.主节点下安装后,其他所有结点自动安 ...
- 资源放送丨《Oracle RAC 集群安装部署》PPT视频
点击上方"蓝字" 关注我们,享更多干货! 前段时间,墨天轮邀请数据库资深专家 邦德 老师分享了<Oracle RAC 集群安装部署>,在这里我们将课件PPT和实况录像分 ...
- 今晚8点直播(内含福利)丨 Oracle RAC集群安装部署
Oracle RAC集群安装部署-9月16日20:00 Oracle RAC真正的应用集群,它可以多个主机共同分散业务,来达到负载均衡和高可用,目前企业也大规模应用,具有稳定,很好的扩展性等特点. 作 ...
- 本周四直播预告(内含福利)丨 Oracle RAC集群安装部署
Oracle RAC集群安装部署-9月16日20:00 Oracle RAC真正的应用集群,它可以多个主机共同分散业务,来达到负载均衡和高可用,目前企业也大规模应用,具有稳定,很好的扩展性等特点. 作 ...
- python模块下载失败_pycharm自动安装模块失败了怎么办
pycharm自动安装模块失败了的解决方法:1.执行[pip -V]命令查看是否安装了pip:2.如果没有安装pip,则执行[python get-pip.py]命令进行安装:3.执行[pip ins ...
最新文章
- 关卡设计快速入门_7. 自己来!
- 爬虫---Beautiful Soup 通过添加不同的IP请求
- Ubuntu Linux 8.04系统JAVA配置方法
- gdb core调试
- linux grep命令参数及用法详解---linux管道命令grep
- fir.im Weekly - 除了新 MacBook Pro,近期值得关注的移动开发好资源
- R7-1 What is a computer? (5 分)
- linux mysql 8.0启动不了_MySQL官方源从8.0.3直接yum升级到8.0.4后无法启动
- Tomcat 7 证书配置中遇到的一个问题
- pycharm 改成中文亲测好用
- Java判断质数/素数的三种方法
- java multipy_PyTorch版YOLOv4更新了,适用于自定义数据集
- 安卓装Linux ,坑真的多,Linux deployTermux踩坑记||在旧手机上建立自己的服务器(1)||2020年新货
- 看懂Oracle的执行计划
- MapGIS 的一些小总结
- vivo手机怎么安装Android10,首批升级Android 10 Bate教程!vivo手机3步搞定
- 上海迪士尼将推出虎年新春全新体验
- 高防CDN有什么优点
- 【JavaScript】常用JS
- 三星 0E 门序列号批次汇总 (Samsung SSD 0E Issue with affected SN)