可能性1:
step 1:确认两节点必须是访问同一块共享存储
step 2:确认两节点的磁盘路径完全一样
step 3:确认两节点对磁盘具有rw访问权限
尤其是“3”点
可能性2:
vi /etc/sysconfig/oracleasm
ORACLEASM_ENABLED=true
ORACLEASM_UID=grid
ORACLEASM_GID=asmadmin
ORACLEASM_SCANBOOT=true
ORACLEASM_SCANORDER=“multipath dm” #先扫描多路径的盘符
ORACLEASM_SCANEXCLUDE=“sd” #排除sd开头的磁盘
ORACLEASM_SCAN_DIRECTORIES=""
ORACLEASM_USE_LOGICAL_BLOCK_SIZE=false
https://blog.csdn.net/tianlesoftware/article/details/6001696
https://www.cndba.cn/Dave/article/583
可能性3:
节点2没有 /opt/oracle/extapi/64/asm/orcl/1/libasm.so 文件。
https://blog.csdn.net/weixin_42586934/article/details/80880178
可能性4:
mount路径的权限问题
https://www.linuxidc.com/Linux/2015-02/113610.htm
可能性5:
可能性6:
在创建ASM磁盘组的时候并没有使用到Multipath设备
https://www.tuicool.com/articles/UreyMb
然而节点1却是
说明在节点1中,OCR 这个用oracleasm创建的ASM磁盘的major和minor号分别是252 4 而节点2的OCR的major和minor却是8 16,这是sdb的号而不是dm-4的号
此情况可能是配置asm的时候用的oracleasm congifure -I 没有指定需要扫描和排除的盘符前缀,第二个节点扫描的磁盘是sd的,而用mpath多路径是用的dm
ORACLEASM_ENABLED=true
ORACLEASM_UID=grid
ORACLEASM_GID=asmadmin
ORACLEASM_SCANBOOT=true
ORACLEASM_SCANORDER="multipath dm" # 先扫描多路径的盘符
ORACLEASM_SCANEXCLUDE="sd" # 排除sd开头的磁盘
ORACLEASM_SCAN_DIRECTORIES=""
ORACLEASM_USE_LOGICAL_BLOCK_SIZE=false
2.重启oracleasm
systemctl restart oracleasm
3.重跑 root.sh
注意
Oracle 11g RAC 第二节点root.sh执行失败后再次执行root.sh前,要先清除之前的crs配置信息
执行顺序:
1.rac1
# /u01/app/11.2.0/grid/crs/install/rootcrs.pl -verbose -deconfig -force
# /u01/app/11.2.0/grid/crs/install/roothas.pl -verbose -deconfig -force
rac2:
# /u01/app/11.2.0/grid/crs/install/rootcrs.pl -verbose -deconfig -force - lastnode
# /u01/app/11.2.0/grid/crs/install/roothas.pl -verbose -deconfig -force
按顺序执行:
# /u01/app/11.2.0/grid/root.sh
如果出现报错信息
[root@rac2 install]# /u01/app/11.2.0/grid/crs/install/rootcrs.pl -verbose -deconfig -force
Can't locate Env.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 . /u01/app/11.2.0/grid/crs/install) at crsconfig_lib.pm line 703.
BEGIN failed--compilation aborted at crsconfig_lib.pm line 703.
Compilation failed in require at /u01/app/11.2.0/grid/crs/install/rootcrs.pl line 305.
BEGIN failed--compilation aborted at /u01/app/11.2.0/grid/crs/install/rootcrs.pl line 305.
解决方法
根据提示信息Can’t locate Env.pm 可以知道找不到这玩意了,所以cp一份过去
[root@rac2 install]# cp -p /u01/app/11.2.0/grid/perl/lib/5.10.0/Env.pm /usr/lib64/perl5/vendor_perl/