这些错误均与磁盘相关。
可能性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
解决方法 1.更改/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=false2.重启oracleasm
systemctl restart oracleasm3.重跑 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 -forcerac2:
# /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/