近日,同事在进行一次Oracle集群常规重启时,遇到了一个比较怪异的问题,存储都在,心跳都是通的,重启之前运行时正常的,停掉集群之后就无法启动了。
根据同事的描述,远程登录后,测试集群私网心跳,经测试是通的,集群alert日志信息如下:
提示节点1不可达。
同时,在切换grid用户时,出现报错:
提示没有权限。
在root用户下查看了/home/grid目录权限,为755,不是默认的700权限,怀疑有人改了grid目录以及其他目录权限,改为700权限后,还是无法切换,进一步查询,可能是由于根目录权限改变导致用户无法切换,果真,查看根目录权限发现了问题,权限查看结果如下:
节点1:
节点2:
果真,两个节点根目录权限不一致,一遍是555权限,一边是700权限,查看历史记录:
确认有过目录更改的记录。
由于客户没有对Oracle安装目录单独分区,就在根目录下,已经可以确定是由于根目录权限问题导致集群无法正常启动,当然受影响的还有根目录下的其他目录,如/bin,/usr/bin等。
相关问题定位后,由于涉及系统层面,和客户沟通后,需要进一步上报反馈,没有当时进行权限恢复,后续和同事沟通后,恢复完权限后,集群启动恢复正常。所以,更改权限的时候一定要最小化,慎用-R。