欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

执行root.sh时提示ORA-15031错误解决

程序员文章站 2022-06-09 16:14:17
...

近日处理一个Oracle Grid infrastructure(GI)安装的问题,在执行root.sh过程中失败,并显示下面错误:错误ORA-15031的提示,还是

近日处理一个Oracle Grid infrastructure(GI)安装的问题,在执行root.sh过程中失败,并显示下面错误:

Disk Group OCR creation failed with the following message:
ORA-15018: diskgroup cannot be created
ORA-15031: disk specification '/dev/vx/rdsk/dg_db01/lv_vote1' matches no disks ORA-15031: disk specification '/dev/vx/rdsk/dg_db01/lv_vote2' matches no disks
ORA-15031: disk specification '/dev/vx/rdsk/dg_db01/lv_vote3' matches no disks
Configuration of ASM ... failed
see asmca logs at /oracle/base/cfgtoollogs/asmca for details
Did not succssfully configure and start ASM at /oracle/product/11.2.0.4/grid_1/crs/install/crsconfig_lib.pm line 6468.
/oracle/product/11.2.0.4/grid_1/perl/bin/perl -I/oracle/product/11.2.0.4/grid_1/perl/lib -I/oracle/product/11.2.0.4/grid_1/crs/install /oracle/product/11.2.0.4/grid_1/crs/install/rootcrs.pl execution failed

错误ORA-15031的提示,还是很明显的,无法识别对应的voting磁盘,正常解决思路,就是检查磁盘是否正常挂载,权限是否正确等,需要逐项检查。在Metalink上搜索,这个错误一般都是在node2上执行root.sh会遇到,而node1都是正常的。大多是权限以及系统层面挂载出现问题。但是我这个问题,是在node1上执行root.sh就失败了。

开始各项分析检查:

1. 检查磁盘是否存在,权限是否正确,All Pass
#ls -lrt /dev/vx/rdsk/dg_db01
crw-rw---- 1 grid asmadmin 40,60000 Feb 12 10:51 lv_vote1
crw-rw---- 1 grid asmadmin 40,60001 Feb 12 10:52 lv_vote2
crw-rw---- 1 grid asmadmin 40,60002 Feb 12 10:52 lv_vote3

2. 检查asm_diskstring设置
SQL> show parameter asm_diskstring
NAME TYPE VALUE
------------------------------------ --------------------------------- ------------------------------
asm_diskstring string /dev/vx/rdsk/dg_db01

3. 并使用kfod来查看,是否能扫描到对应的磁盘,也正常
kfod asm_diskstring='/dev/vx/rdsk/dg_db01/lv_*' disks=all
--------------------------------------------------------------------------------
Disk Size Path User Group
================================================================================
1: 327680 Mb /dev/vx/rdsk/dg_db01/lv_data01 grid asmadmin
2: 327680 Mb /dev/vx/rdsk/dg_db01/lv_data02 grid asmadmin
3: 327680 Mb /dev/vx/rdsk/dg_db01/lv_data03 grid asmadmin
4: 112910 Mb /dev/vx/rdsk/dg_db01/lv_data04 grid asmadmin
5: 1024 Mb /dev/vx/rdsk/dg_db01/lv_vote1 grid asmadmin
6: 1024 Mb /dev/vx/rdsk/dg_db01/lv_vote2 grid asmadmin
7: 1024 Mb /dev/vx/rdsk/dg_db01/lv_vote3 grid asmadmin
--------------------------------------------------------------------------------
ORACLE_SID ORACLE_HOME
================================================================================
+ASM1 /oracle/product/11.2.0.4/grid_1
grid@HAZZ-NRMS-RESDB01:/home/grid>

4. 至此,我怀疑是asm_diskstring设置的不够准确,将其更改为
SQL> show parameter asm_diskstring
NAME TYPE VALUE
------------------------------------ --------------------------------- ------------------------------
asm_diskstring string /dev/vx/rdsk/dg_db01/lv_*

但是问题依旧没有解决,

5. 检查集群安装环境,也没有发现问题
$ ./runcluvfy.sh stage -pre crsinst -n node1,node2 -verbose
$ ./runcluvfy.sh comp ssa -n all -verbose

6. 操作系统日志,没有发现错误

IBM: /bin/errpt -a > messages.out

至此,可以确认,根据oracle的安装文档,目前的磁盘权限完全符合安装条件,在GI的图形化安装过程,也是可以看见ASM disk的,但是在root.sh执行过程中,就是无法通过。

后通过Metalink查询到下面文章
ASM Is Not Detecting Raw Devices Or Regular Raw Devices On AIX (Doc ID 1174604.1)

根据文档描述:
EMC存储,使用多路径,可能会遇到这个问题,而我的存储确实使用的EMC和多路径。

好吧,按照这个文档的Solution,测试一下