千家信息网

ORACLE RAC 11.2.0.4 for RHEL6.8无法启动之ORA000205&ORA17503&ORA01174

发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,昨天,一同事咨询,他给rac集群的一个节点打补丁,重启之后数据库无法启动,乍看情况像是磁盘组无法挂载报错:ORA17503,仔细排查发现是db_files参数出现变更导致数据库启动报错ORA01174
千家信息网最后更新 2025年02月02日ORACLE RAC 11.2.0.4 for RHEL6.8无法启动之ORA000205&ORA17503&ORA01174

昨天,一同事咨询,他给rac集群的一个节点打补丁,重启之后数据库无法启动,乍看情况像是磁盘组无法挂载报错:ORA17503,仔细排查发现是db_files参数出现变更导致数据库启动报错ORA01174而无法启动。

1、问题描述

oracle rac 11.2.0.4 打补丁后重启,数据库实例无法启动,启动报错data磁盘组没有挂载如下图所示:

2、问题分析

集群节点racdb1的grid执行crsctl stat res -t -init ,检查集群资源进程状态,发现正常:

集群节点racdb1的grid执行crsctl stat res -t ,检查集群资源状态,发现racdb1数据库实例未挂载:

查看节点racdb1实例的启动状态为started:

oracle用户sys登陆数据库执行alter database mount报错ORA000205:

检查节点racdb1实例的告警日志,告警日志提示与1中提到的报错一致:磁盘组data未挂载

节点racdb1的grid用户登录asm管理控制台,检查磁盘组状态,发现data磁盘组状态正常:

节点racdb1的grid用户在asm控制台检查控制文件,发现能够看到控制文件:

到此可以排除ASM磁盘组未挂载导致racdb1实例无法mount的。

节点racdb1的oracle用户首先执行shutdown abort关闭当前实例:

节点racdb1的grid用户使用srvctl工具启动实例报错ORA01174:

到此,节点racdb1实例racdb1无法启动原因定位到:可能是数据库打补丁,补丁集修改了racdb1实例的数据库参数DB_FILES参数,数据库重启后集群检查发现2个节点实例的DB_FILES参数不一致导致节点racdb1实例racdb1无法启动。

3、问题处理

节点racdb1的oracle用户登录数据库,将实例关闭,然后启动到nomount状态:

节点racdb1实例racdb1修改DB_FILES参数为500:

因为DB_FILES为数据库静态参数需要重启,关闭节点racdb1实例racdb1后,将数据库启动到open状态:

后记:事后检查2个节点的告警日志,除了节点racdb1的告警日志,最后手工修改的DB_FILES参数将其设置为500,

未发现其他人为手工命令将其修改为200,从而确定是打补丁引起的。

到此问题解决!





0