曾碰到过实施工程师把oracle集群权限改错,导致数据库宕机的情况。
解决方案 ~ 1
[root@node1 prod1]# su - grid
[grid@node1 ~]$ cd /u01/11.2.0/grid/crs/install/
[grid@node1 install]$ ./rootcrs.pl -init
12c 以上版本
[grid@node1 ~]$ cd /u01/11.2.0/grid/crs/install/
[grid@node1 install]$ ./rootcrs.sh -init
解决方案 ~ 2
1 在正常节点,使用操作系统权限命令
[root@node2 u01]# getfacl -pR app/ > backup.sh
[root@node2 u01]# scp backup.sh node1:/u01/
2 替换backup.sh文件中的主机名和实例名为异常节点的主机和实例名
3 在异常节点执行以下语句
[root@node1 u01]# setfacl --restore=backup.sh
至此,异常节点集群可以正常启动,数据库可根据报错解决
[root@node1 u01]# ls -tlr /u01/11.2.0/grid/bin/oracle
-rwsr-s--x. 1 grid oinstall 209914479 Jun 14 2021 /u01/11.2.0/grid/bin/oracle
grid用户下执行
[grid@node1 bin]$ ./setasmgidwrap o=/u01/11.2.0/grid/bin/oracle
[grid@node1 bin]$ chmod u+s $GRID_HOME/bin/oracle
[grid@node1 bin]$ chmod g+s $GRID_HOME/bin/oracle
11g_rac只是用操作系统命令,就可解决rac集群权限问题