ORA-15020:discoverd duplicate ASM disk "XXX_CJCDB_OCR_0002"

chenoracle發表於2021-04-24

環境說明:

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###

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29785807/viewspace-2769662/,如需轉載,請註明出處,否則將追究法律責任。

相關文章