恢复votedisk报错CRS-4000: Command Replace failed, or completed with errors.

本文介绍了解决Oracle RAC环境中ASM投票文件配置失败的问题。由于标准架构要求ASM投票文件必须位于奇数个磁盘组成的故障组中,本文详细记录了从报错到通过增加磁盘成功替换投票文件的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

恢复votedisk报错如下:

[root@rac1 bin]# ./crsctl replace votedisk +griddata

Failed to create voting files on disk group griddata.
Change to configuration failed, but was successfully rolled back.
CRS-4000: Command Replace failed, or completed with errors.

原因是:
     As per our standard architecture +ASM  Votefile should always have odd numbers other than External redundancy(which requires only one disk).  
A  normal redundancy ASM disk group, which is supposed to hold Voting Files, requires 3 disks in separate failure groups, while a normal redundancy ASM disk group that is not used to store Voting Files requires only 2 disks in separate failure groups.

SOLUTION
Add  one more disk/failgroup to our existing Normal redundancy diskgroup +NRML  as below and then need to replace votedisk:-
SQL> alter diskgroup NRML add disk '/dev/asm-dsikf';
 Diskgroup altered.
[root@rac1 bin]# ./crsctl replace votedisk +griddata
Successful addition of voting disk 49bcc0c86e744f39bfb02fe6599a5bfe.
Successful addition of voting disk 3d82fd0ca6fa4f22bf7af3aacf35c470.
Successful addition of voting disk 32d24628e1a44fffbf0103dcb35a187c.
Successfully replaced voting disk group with +griddata.
CRS-4266: Voting file(s) successfully replaced

[root@rac1 bin]# ./crsctl query css votedisk
##  STATE    File Universal Id                File Name Disk group
--  -----    -----------------                --------- ---------
 1. ONLINE   49bcc0c86e744f39bfb02fe6599a5bfe (/dev/asm-diskb) [GRIDDATA]
 2. ONLINE   3d82fd0ca6fa4f22bf7af3aacf35c470 (/dev/asm-diske) [GRIDDATA]
 3. ONLINE   32d24628e1a44fffbf0103dcb35a187c (/dev/asm-diskf) [GRIDDATA]


 ASM alert logs有类似的错误
================
NOTE: Voting File refresh pending for group 4/0x555886a9 (NRML)
NOTE: Attempting voting file creation in diskgroup NRML
NOTE: voting file allocation on grp 4 disk NRML_0000
NOTE: voting file allocation on grp 4 disk NRML_0001
ERROR: Voting file allocation failed for group NRML
Errors in file /u01/app/oracle/diag/asm/+asm/+ASM1/trace/+ASM1_ora_20379.trc:
ORA-15274: Not enough failgroups (3) to create voting files
NOTE: Attempting voting file refresh on diskgroup NRML
NOTE: Refresh completed on diskgroup NRML. No voting file found.
Fri Nov 01 20:54:28 2013

<think>好的,我现在需要帮助用户解决Oracle ASM实例启动失败的问题,具体错误是ORA-ASM start failed,伴随CRS-2674、CRS-2679、CRS-2681和CRS-4000。用户还提到了引用中的一些其他错误,比如CRS-5017和ORA-01017,这可能和认证有关。首先,我需要回忆这些错误代码的含义以及常见的解决方法。 首先,CRS-2674通常表示资源启动失败,可能是因为依赖项未满足。CRS-2679可能涉及资源无法执行操作,而CRS-2681可能意味着资源在尝试启动后未能达到运行状态。CRS-4000是一个通用错误,表示命令执行失败。结合用户提到的引用,特别是引用4中的CRS-5017和ORA-01017,这可能涉及ASM实例的认证问题,比如密码文件问题或权限错误。 接下来,我需要检查可能的步骤来解决这些问题。根据引用中的信息,可能的步骤包括: 1. 检查ASM实例的依赖资源,比如网络配置(如HAIP)、集群服务状态等。例如,CRS-2672错误提到HAIP启动失败,这可能影响ASM的启动。 2. 验证ASM的磁盘组和权限是否正确。如果ASM无法访问存储设备,会导致启动失败。检查ASM磁盘路径、权限(如grid用户的权限)、磁盘组的可用性。 3. 检查密码文件和认证。ORA-01017提示无效的用户名或密码,可能需要检查ASM实例的密码文件是否存在,权限是否正确,以及是否使用了正确的认证方式。比如,密码文件是否位于$ORACLE_HOME/dbs目录,并且命名为+ASM,权限是否为640,属主是否正确。 4. 检查集群件日志,如ohasd、crsd的日志,以及ASM的alert日志,确定具体的错误原因。比如,用户提到的alert<hostname>.log中的ACFS错误可能涉及存储配置问题。 5. 确保网络配置正确,特别是私有网络的接口配置,如eth4和eth6的IP地址是否正确,子网配置是否与集群设置匹配(引用5中的网络接口列表可能相关)。 6. 可能需要重启集群服务或重新配置资源。例如,使用crsctl命令停止和启动集群服务,或者强制清理资源后重新启动。 在步骤中,可能需要用户执行以下操作: - 检查集群状态:使用crsctl check cluster或crsctl stat res -t查看资源状态,确认是否有其他资源失败导致依赖问题。 - 检查ASM实例的alert日志,通常在$ORACLE_BASE/diag/asm/+asm/+ASM/trace/alert_+ASM.log,查找具体的错误信息。 - 验证密码文件是否存在,位置是否正确,权限是否足够。可能需要使用orapwd重建密码文件。 - 检查ASM磁盘的权限,确保grid用户有访问权限,使用kfod工具确认磁盘是否可见。 - 检查网络配置,特别是HAIP相关的配置,确保私有网络接口正常,没有IP冲突。 此外,引用3提到了ORA-01078,可能与参数文件有关,因此需要检查ASM的初始化参数文件是否正确,参数设置是否合理,如instance_type、asm_diskgroups等。 用户可能还需要检查系统资源,如内存、文件句柄等是否足够,避免资源不足导致启动失败。 总结,可能的解决步骤包括验证依赖服务、检查认证和密码文件、检查ASM磁盘权限和可用性、检查网络配置、查看详细日志定位问题,最后可能需要重启集群服务或重新配置资源。</think>### Oracle ASM实例启动失败问题解决方案 #### 1. 检查集群资源状态 首先使用以下命令检查集群资源状态,确认是否存在依赖资源未启动: ```bash crsctl stat res -t -init ``` 若发现`ora.cluster_interconnect.haip`(HAIP资源)或`ora.asm`状态异常(如`OFFLINE`),需优先解决依赖资源问题。例如,CRS-2672错误可能由网络配置错误导致[^1]。 #### 2. 验证ASM密码文件 ORA-01017错误表明ASM实例的认证失败。检查密码文件: - **路径**: `$ORACLE_HOME/dbs/orapw+ASM` - **权限**: 应为640,属主为`grid:oinstall` - **重建密码文件**(必要时): ```bash orapwd file=$ORACLE_HOME/dbs/orapw+ASM password=<密码> entries=10 ``` #### 3. 检查ASM磁盘权限 ASM实例需要访问磁盘设备: ```bash # 查看磁盘权限 ls -l /dev/oracleasm/disks/* # 使用kfod检查磁盘可见性 $ORACLE_HOME/bin/kfod disks=all ``` 确保所有ASM磁盘权限为`660`,属主为`grid:asmadmin`[^4]。 #### 4. 检查网络配置 HAIP依赖私有网络接口(如`eth4`和`eth6`): ```bash # 检查接口IP和子网配置 ifconfig eth4; ifconfig eth6 # 验证集群网络配置 cat /etc/oracle/olr.loc | grep cluster_interconnects ``` 确保子网配置与`oracle.install.crs.config.networkInterfaceList`参数一致[^5]。 #### 5. 分析日志定位问题 查看关键日志: - **ASM Alert日志**: ```bash tail -f $ORACLE_BASE/diag/asm/+asm/+ASM/trace/alert_+ASM.log ``` - **OHASD日志**: ```bash $GRID_HOME/log/<主机名>/ohasd/ohasd.log ``` 若日志提示`ACFS-9156`或`ACFS-9322`,可能是存储驱动或挂载问题[^4]。 #### 6. 重启集群服务 尝试重启集群服务: ```bash # 停止集群 crsctl stop has # 清理残留资源 crsctl delete resource ora.asm -f # 启动集群 crsctl start has ``` #### 7. 其他可能原因 - **参数文件错误**:检查`$ORACLE_HOME/dbs/init+ASM.ora`是否正确配置`asm_diskgroups`[^3]。 - **资源冲突**:使用`crsctl modify resource ora.asm -attr AUTO_START=always`强制自动启动。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值