环境说明:
DB:Oracle 11g RAC OS:Redhat7.6
操作:
Redhat7.6系统上安装Oracle11gRAC。
问题现象:
当在第一个节点执行root.sh时,报错如下: Disk Group XXX_CJCDB_OCR creation failed with the following message: ORA-15018:diskgroup cannot be created ORA-15020:discoverd duplicate ASM disk "XXX_CJCDB_OCR_0002"
问题分析:
OCR磁盘组创建失败,需要查看ASM日志:
Reconfiguration complete Mon Apr 19 17:44:28 2021 LCK0 started with pid=22, OS id=7558 ORACLE_BASE from environment = /oracle/grid Mon Apr 19 17:44:29 2021 SQL> ALTER DISKGROUP ALL MOUNT Diskgroup used for OCR is:XXX_CJCDB_OCR NOTE: cache registered group XXX_CJCDB_OCR number=1 incarn=0x588274a5 NOTE: cache began mount (first) of group XXX_CJCDB_OCR number=1 incarn=0x588274a5 ERROR: no read quorum in group: required 2, found 0 disks NOTE: cache dismounting (clean) group 1/0x588274A5 (XXX_CJCDB_OCR) NOTE: messaging CKPT to quiesce pins Unix process pid: 7561, image: oracle@xxx-cjcdb01 (TNS V1-V3) NOTE: dbwr not being msg'd to dismount NOTE: lgwr not being msg'd to dismount NOTE: cache dismounted group 1/0x588274A5 (XXX_CJCDB_OCR) NOTE: cache ending mount (fail) of group XXX_CJCDB_OCR number=1 incarn=0x588274a5 NOTE: cache deleting context for group XXX_CJCDB_OCR 1/0x588274a5 GMON dismounting group 1 at 2 for pid 23, osid 7561 ERROR: diskgroup XXX_CJCDB_OCR was not mounted WARNING: Disk Group XXX_CJCDB_OCR containing configured OCR is not mounted ORA-15032: not all alterations performed ORA-15017: diskgroup "XXX_CJCDB_OCR" cannot be mounted ORA-15063: ASM discovered an insufficient number of disks for diskgroup "XXX_CJCDB_OCR" ERROR: ALTER DISKGROUP ALL MOUNT Mon Apr 19 17:44:29 2021 NOTE: No asm libraries found in the system Mon Apr 19 17:44:29 2021 ALTER SYSTEM SET asm_diskstring='/dev/' SCOPE=MEMORY SID='*'; ASM Health Checker found 1 new failures SQL> CREATE DISKGROUP XXX_CJCDB_OCR NORMAL REDUNDANCY DISK '/dev/asm-ocr1', '/dev/asm-ocr2', '/dev/asm-ocr3' ATTRIBUTE 'compatible.asm'='11.2.0.0.0','au_size'='1M' /* ASMCA */ NOTE: Assigning number (1,0) to disk (/dev/asm-ocr1) NOTE: Assigning number (1,1) to disk (/dev/asm-ocr2) NOTE: Assigning number (1,2) to disk (/dev/asm-ocr3) NOTE: initializing header on grp 1 disk XXX_CJCDB_OCR_0000 NOTE: initializing header on grp 1 disk XXX_CJCDB_OCR_0001 NOTE: initializing header on grp 1 disk XXX_CJCDB_OCR_0002 WARNING: detected duplicate paths to the same disk: '/dev/asm-ocr3' and '/dev/sdd' More trace information dumped to '/oracle/grid/diag/asm/+asm/+ASM1/trace/+ASM1_ora_7592.trc' WARNING: detected duplicate paths to the same disk: '/dev/asm-ocr1' and '/dev/sdb' More trace information dumped to '/oracle/grid/diag/asm/+asm/+ASM1/trace/+ASM1_ora_7592.trc' WARNING: detected duplicate paths to the same disk: '/dev/asm-ocr2' and '/dev/sdc' More trace information dumped to '/oracle/grid/diag/asm/+asm/+ASM1/trace/+ASM1_ora_7592.trc' NOTE: erasing header on grp 1 disk XXX_CJCDB_OCR_0000 NOTE: erasing header on grp 1 disk XXX_CJCDB_OCR_0001 NOTE: erasing header on grp 1 disk XXX_CJCDB_OCR_0002 GMON dismounting group 1 at 3 for pid 23, osid 7592 NOTE: Disk XXX_CJCDB_OCR_0000 in mode 0x7e marked for de-assignment NOTE: Disk XXX_CJCDB_OCR_0001 in mode 0x7e marked for de-assignment NOTE: Disk XXX_CJCDB_OCR_0002 in mode 0x7e marked for de-assignment ERROR: diskgroup XXX_CJCDB_OCR was not created ORA-15018: diskgroup cannot be created ORA-15020: discovered duplicate ASM disk "XXX_CJCDB_OCR_0002" ERROR: CREATE DISKGROUP XXX_CJCDB_OCR NORMAL REDUNDANCY DISK '/dev/asm-ocr1', '/dev/asm-ocr2', '/dev/asm-ocr3' ATTRIBUTE 'compatible.asm'='11.2.0.0.0','au_size'='1M' /* ASMCA */
可以看到多个路径指向同一块磁盘,例如/dev/asm-ocr1和/dev/sdb指向了同一块磁盘。 实际上确实是执行的同一块物理磁盘,因为/dev/asm-ocr1是通过udev绑定sdb得来的。 但在创建磁盘组时,oracle应该只识别到/dev/asm-ocr1才对,为什么两块盘都识别到了? WARNING: detected duplicate paths to the same disk: 实际是是因为在安装grid时,选择磁盘组路径时,本应选择/dev/asm-*,却错误的选择了/dev,导致了上面的错误。
[grid@xxx-cjcdb01 ~]$ export ORACLE_SID=+ASM1 [grid@xxx-cjcdb01 ~]$ sqlplus / as sysdba SQL*Plus: Release 11.2.0.4.0 Production on Mon Apr 19 18:07:17 2021 Copyright (c) 1982, 2013, Oracle. All rights reserved. Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Real Application Clusters and Automatic Storage Management options SQL> show parameter asm_diskstring NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ asm_diskstring string /dev/
解决方案:
1 清空CRS配置 perl $GRID_HOME/crs/install/rootcrs.pl -verbose -deconfig –force 2 删除对应目录和文件 重新安装grid
###2021-04-24 17:00 chenjuchao###