前言:

近期处理了一起由于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集群异常问题相关推荐

  1. Oracle单实例通过DG迁移至RAC集群(Oracle 11g 超详细文档)

    实验:Oracle单实例通过DG迁移至RAC集群(Oracle 11g 超详细文档) 步骤1:Oracle单实例搭建 1. 系统环境检查 2. 创建用户.组,配置环境变量.安装目录 3. 安装Orac ...

  2. 在 Oracle Enterprise Linux 和 iSCSI 上构建您自己的 Oracle RAC 集群(续)

    DBA:Linux    下载  Oracle 数据库 11g    标签 linux, rac, clustering, 全部 在 Oracle Enterprise Linux 和 iSCSI 上 ...

  3. 【RAC】使用一条“ps”命令获取Linux环境下全部RAC集群进程信息

    如何仅使用一条ps命令便能获取到所有与RAC集群进程相关的信息.   从所使用的命令角度上看很简单,仅需使用ps命令结合grep命令便能实现.问题关键是需要确定检索哪些关键字. 1.与RAC集群有关的 ...

  4. oracle asm磁盘标签丢失导致整个集群和数据库启动失败

    oracle asm磁盘标签丢失导致整个集群和数据库启动失败 应用环境描述 一.硬件 1. 服务器:2台dell r610-16G内存.2颗6核xeon cpu.2个146G sas盘,做了raid1 ...

  5. linux下安装oracle集群,【Oracle 集群】Linux下Oracle RAC集群搭建之Oracle DataBase安装(八)...

    目录 数据库安装 继oracle集群安装之后,接下来也是最重要的数据库安装,整个数据库安装难度不大,用户以oracle用户身份登录RAC1主节点,对解压后的文件安装.主节点下安装后,其他所有结点自动安 ...

  6. 资源放送丨《Oracle RAC 集群安装部署》PPT视频

    点击上方"蓝字" 关注我们,享更多干货! 前段时间,墨天轮邀请数据库资深专家 邦德 老师分享了<Oracle RAC 集群安装部署>,在这里我们将课件PPT和实况录像分 ...

  7. 今晚8点直播(内含福利)丨 Oracle RAC集群安装部署

    Oracle RAC集群安装部署-9月16日20:00 Oracle RAC真正的应用集群,它可以多个主机共同分散业务,来达到负载均衡和高可用,目前企业也大规模应用,具有稳定,很好的扩展性等特点. 作 ...

  8. 本周四直播预告(内含福利)丨 Oracle RAC集群安装部署

    Oracle RAC集群安装部署-9月16日20:00 Oracle RAC真正的应用集群,它可以多个主机共同分散业务,来达到负载均衡和高可用,目前企业也大规模应用,具有稳定,很好的扩展性等特点. 作 ...

  9. python模块下载失败_pycharm自动安装模块失败了怎么办

    pycharm自动安装模块失败了的解决方法:1.执行[pip -V]命令查看是否安装了pip:2.如果没有安装pip,则执行[python get-pip.py]命令进行安装:3.执行[pip ins ...

最新文章

  1. 关卡设计快速入门_7. 自己来!
  2. 爬虫---Beautiful Soup 通过添加不同的IP请求
  3. Ubuntu Linux 8.04系统JAVA配置方法
  4. gdb core调试
  5. linux grep命令参数及用法详解---linux管道命令grep
  6. fir.im Weekly - 除了新 MacBook Pro,近期值得关注的移动开发好资源
  7. R7-1 What is a computer? (5 分)
  8. linux mysql 8.0启动不了_MySQL官方源从8.0.3直接yum升级到8.0.4后无法启动
  9. Tomcat 7 证书配置中遇到的一个问题
  10. pycharm 改成中文亲测好用
  11. Java判断质数/素数的三种方法
  12. java multipy_PyTorch版YOLOv4更新了,适用于自定义数据集
  13. 安卓装Linux ,坑真的多,Linux deployTermux踩坑记||在旧手机上建立自己的服务器(1)||2020年新货
  14. 看懂Oracle的执行计划
  15. MapGIS 的一些小总结
  16. vivo手机怎么安装Android10,首批升级Android 10 Bate教程!vivo手机3步搞定
  17. 上海迪士尼将推出虎年新春全新体验
  18. 高防CDN有什么优点
  19. 【JavaScript】常用JS
  20. 三星 0E 门序列号批次汇总 (Samsung SSD 0E Issue with affected SN)

热门文章

  1. windows系统软件崩溃分析
  2. 详解Canvas动画部分
  3. 如何将google的扩展程序打包:
  4. WMLS10自动建立BIN位(模板配置)
  5. 换手机 之导入通信录
  6. 携程2021春招笔试
  7. 课程设计实验--火车票座位分配
  8. 【GZH逸佳君】:送你300集基础AI教程+6套高级设计教程+20G素材,学会就能做设计
  9. python爬虫可视化excel_Python爬虫以及数据可视化分析!
  10. 设置电脑wifi和网线同时访问网络