数据库启动出现ORA-27037错误

客户的9204 RAC环境,一个节点MOUNT时出现了这个错误。

 

 

Oracle文档上关于27037错误的详细信息为:

ORA-27037 unable to obtain file status
Cause: STAT system call returned an error, additional information indicates which function encountered the error.
Action: Check errno.

一个节点一直处于打开状态,而另一个节点在出现错误之前处于NOMOUNT状态。

而这个节点尝试MOUNT数据库时报错。OracleMOUNT数据库时进行的操作是加载控制文件,可是如果控制文件出现了问题,那么另外一个节点也早就DOWN了。检查控制文件对应的裸设备的权限,也没有发现问题。

这时客户发现问题节点尝试启动到NOMOUNT状态仍然报错。看来问题多半出在SPFILE对应的裸设备上。

由于是远程数据库,很难通过电话方式进一步诊断问题。根据错误信息,应该是错误发生在操作系统级。怀疑是节点二上访问SPFILE对应的裸设备存在问题。

利用节点一的pfile文件,在节点二上其他裸设备重建了SPFILE,尝试重新启动节点二,问题消失。

由于节点一和节点二目前指向的SPFILE不一致,因此修改节点一上$ORACLE_HOME/dbs/目录下的pfile文件,使之指向新的SPFILE对应的裸设备,问题解决。

不过还需要注意一点,在节点一上的实例重启之前,不要在实例1上执行alter system修改参数到SPFILE文件。

 

请使用浏览器的分享功能分享到微信等