故障排查:Oracle RAC 19c节点2 root.sh执行失败,从CRS-1705投票文件缺失到权限错误的完整诊断

发布时间:2026/7/14 23:54:40
故障排查:Oracle RAC 19c节点2 root.sh执行失败,从CRS-1705投票文件缺失到权限错误的完整诊断 1. 问题现象与初步分析最近在VMware虚拟化环境Linux 7.6中部署Oracle RAC 19c时遇到了一个典型问题节点2的root.sh脚本执行失败导致集群启动失败。具体报错信息包括CRS-1705投票文件缺失、CRS-2883、CRS-4406及PRVG-2032/PRVH-0116文件权限/属主错误等一系列复合错误。从日志中可以看到root.sh脚本在执行到第17步StartCluster时开始报错。关键错误信息是CRS-1705提示Found 0 configured voting files but 1 voting files are required即系统找不到配置的投票文件但集群需要至少1个投票文件才能正常运行。这个错误直接导致了后续的集群启动失败。2. 深入分析投票文件问题2.1 投票文件的作用投票文件Voting Files是Oracle RAC集群中的关键组件主要用于集群成员资格判定脑裂Split Brain防护故障检测和恢复在19c版本中Oracle推荐将投票文件放在ASM磁盘组中。每个投票文件通常需要至少1GB的空间且Oracle建议配置奇数个投票文件通常为3个以实现高可用。2.2 为什么节点2找不到投票文件根据错误日志和实际排查我们发现节点2找不到投票文件的原因可能有ASM磁盘组在节点2上未被正确识别共享存储配置存在问题节点间的配置不同步权限问题导致无法访问投票文件通过检查两个节点的ASM磁盘状态我们发现节点1可以正常识别所有ASM磁盘而节点2缺少部分磁盘的识别。这解释了为什么投票文件在节点1可用而在节点2不可用。3. 文件权限与属主问题分析除了投票文件问题错误日志中还显示了几个关键的文件权限和属主问题3.1 /etc/oracleafd.conf文件问题PRVG-2032 : Group of file /etc/oracleafd.conf did not match the expected value on node rac2. [Expected oinstall(54321) ; Found asmadmin(54329)]这个错误表明/etc/oracleafd.conf文件的组属性不正确。Oracle期望这个文件的组为oinstall(54321)但实际发现是asmadmin(54329)。3.2 cmdllroot.sh文件问题PRVH-0116 : Path /u01/app/19.3.0/grid/crs/install/cmdllroot.sh with permissions rw-r--r-- does not have execute permissions for the owner, files group, and others on node rac2. PRVG-2031 : Owner of file /u01/app/19.3.0/grid/crs/install/cmdllroot.sh did not match the expected value on node rac2. [Expected grid(54322) ; Found root(0)] PRVG-2032 : Group of file /u01/app/19.3.0/grid/crs/install/cmdllroot.sh did not match the expected value on node rac2. [Expected oinstall(54321) ; Found root(0)]这里有三个问题文件缺少执行权限只有读权限文件属主应该是grid用户但实际是root文件组应该是oinstall但实际是root4. 系统性解决方案4.1 解决共享存储识别问题在节点2上执行以下命令重新扫描ASM磁盘# 以root用户执行 oracleasm scandisks oracleasm listdisks检查所有共享磁盘在两个节点上是否都能被识别# 在两个节点上都执行 ls -l /dev/oracleasm/disks/如果发现有节点2上多出来的无效ASM磁盘如原始内容中提到的ASMDISK_OCR可以删除oracleasm deletedisk -v ASMDISK_OCR4.2 修正文件权限和属主修正/etc/oracleafd.conf文件的组属性chown :oinstall /etc/oracleafd.conf修正cmdllroot.sh文件的权限和属主chmod 755 /u01/app/19.3.0/grid/crs/install/cmdllroot.sh chown grid:oinstall /u01/app/19.3.0/grid/crs/install/cmdllroot.sh4.3 重新配置共享磁盘VMware环境特有问题在某些VMware环境中特别是使用Workstation Pro时可能会遇到共享磁盘配置问题。可以尝试以下步骤在root.sh失败后不要关闭安装界面进入节点2的虚拟机设置移除所有共享磁盘重新添加共享磁盘不需要重启操作系统在节点2上重新执行root.sh5. 验证与后续步骤完成上述修复后应该验证集群状态检查集群资源状态crsctl status res -t检查投票文件状态crsctl query css votedisk检查ASM磁盘组状态asmcmd lsdg如果一切正常应该能看到集群资源都处于ONLINE状态投票文件被正确识别ASM磁盘组可访问。6. 经验总结与预防措施在实际部署Oracle RAC时以下几点可以帮助避免类似问题共享存储验证在安装前确保所有节点都能正确识别所有共享磁盘权限一致性检查使用cluvfy工具预先检查权限和配置一致性安装顺序确保先完成节点1的安装再添加节点2环境准备严格按照Oracle文档准备操作系统环境和参数日志监控安装过程中实时监控日志文件及时发现并解决问题我在多个RAC部署项目中遇到过类似问题发现VMware环境下的共享磁盘配置特别容易出问题。建议在虚拟化环境中部署RAC时特别注意存储配置的稳定性和一致性。