SHIA ::ORA-15063 :: Duplicate disk due to wrong asm resource profile value

如果自己搞不定可以找诗檀软件专业ORACLE数据库修复团队成员帮您恢复!

诗檀软件专业数据库修复团队

服务热线 : 13764045638    QQ号:47079569    邮箱:service@parnassusdata.com

 

适用于:

Oracle Database – 企业版 – 版本11.2.0.1及以后
本文献的信息适用于任何平台。

症状

 

没有ASMlib ,本地多路径到位。
这是一个独立的环境。
尝试安装磁盘组时,磁盘组安装由于复制磁盘而失败。
SQL> ALTER DISKGROUP ALL MOUNT /* asm agent call crs *//* {0:0:431} */
NOTE: Diskgroups listed in ASM_DISKGROUPS are
FRA
DATA_02

WARNING: detected duplicate paths to the same disk:
‘/dev/sdan’ and
‘/dev/mapper/Oracle_LUN02’
More trace information dumped to
‘/opt/app/oracle/product/diag/asm/+asm/+ASM/trace/+ASM_ora_1038.trc’
WARNING: detected duplicate paths to the same disk:
‘/dev/sdt’ and
‘/dev/sdy’
More trace information dumped to
‘/opt/app/oracle/product/diag/asm/+asm/+ASM/trace/+ASM_ora_1038.trc’
WARNING: detected duplicate paths to the same disk:
‘/dev/oracle_lun02’ and
‘/dev/sde’
More trace information dumped to
‘/opt/app/oracle/product/diag/asm/+asm/+ASM/trace/+ASM_ora_1038.trc’
ERROR: no read quorum in group: required 2, found 0 disks

NOTE: cache ending mount (fail) of group DATA_02 number=1 incarn=0xcd020c35
NOTE: cache deleting context for group DATA_02 1/0xcd020c35
Tue Jun 10 09:15:05 2014
NOTE: No asm libraries found in the system
GMON dismounting group 1 at 2 for pid 17, osid 1038
ERROR: diskgroup DATA_02 was not mounted
ERROR: no read quorum in group: required 2, found 0 disks
NOTE: cache dismounting (clean) group 2/0xCD020C36 (FRA)

NOTE: cache deleting context for group FRA 2/0xcd020c36
ASM Health Checker found 1 new failures
NOTE: No asm libraries found in the system
GMON dismounting group 2 at 4 for pid 17, osid 1038
ERROR: diskgroup FRA was not mounted
ORA-15032: not all alterations performed
ORA-15017: diskgroup “FRA” cannot be mounted
ORA-15063: ASM discovered an insufficient number of disks for diskgroup “FRA”
ORA-15017: diskgroup “DATA_02” cannot be mounted
ORA-15063: ASM discovered an insufficient number of disks for diskgroup
“DATA_02”
ERROR: ALTER DISKGROUP ALL MOUNT /* asm agent call crs *//* {0:0:431} */
SQL> ALTER DISKGROUP ALL ENABLE VOLUME ALL /* asm agent *//* {0:0:431} */
SQL> ALTER DISKGROUP DATA_03 MOUNT /* asm agent *//* {0:0:431} */
NOTE: cache registered group DATA_03 number=1 incarn=0xcf220c39
NOTE: cache began mount (first) of group DATA_03 number=1 incarn=0xcf220c39
Tue Jun 10 09:15:05 2014
SQL> ALTER DISKGROUP DATA_04 MOUNT /* asm agent *//* {0:0:431} */
Tue Jun 10 09:15:05 2014
SQL> ALTER DISKGROUP FRA MOUNT /* asm agent *//* {0:0:431} */
WARNING: detected duplicate paths to the same disk:
‘/dev/sdal’ and
‘/dev/mapper/Oracle_LUN04’
More trace information dumped to
‘/opt/app/oracle/product/diag/asm/+asm/+ASM/trace/+ASM_ora_1038.trc’
Tue Jun 10 09:15:05 2014
ALTER SYSTEM SET
local_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.16
8.137.182)(PORT=1521))))’ SCOPE=MEMORY SID=’+ASM’;
WARNING: detected duplicate paths to the same disk:
‘/dev/sdr’ and
‘/dev/sdw’
More trace information dumped to
‘/opt/app/oracle/product/diag/asm/+asm/+ASM/trace/+ASM_ora_1038.trc’
WARNING: detected duplicate paths to the same disk:
‘/dev/oracle_lun04’ and
‘/dev/sdc’
More trace information dumped to
‘/opt/app/oracle/product/diag/asm/+asm/+ASM/trace/+ASM_ora_1038.trc’
ERROR: no read quorum in group: required 2, found 0 disks
NOTE: cache dismounting (clean) group 1/0xCF220C39 (DATA_03)

NOTE: cache deleting context for group DATA_03 1/0xcf220c39
GMON dismounting group 1 at 6 for pid 17, osid 1038
ERROR: diskgroup DATA_03 was not mounted
ORA-15032: not all alterations performed
ORA-15017: diskgroup “DATA_03” cannot be mounted
ORA-15063: ASM discovered an insufficient number of disks for diskgroup
“DATA_03”
ERROR: ALTER DISKGROUP DATA_03 MOUNT /* asm agent *//* {0:0:431} */
SQL> ALTER DISKGROUP FRA_NEW MOUNT /* asm agent *//* {0:0:431} */
NOTE: cache registered group DATA_04 number=1 incarn=0xd0420c3c
NOTE: cache began mount (first) of group DATA_04 number=1 incarn=0xd0420c3c
Tue Jun 10 09:15:05 2014
NOTE: No asm libraries found in the system
ASM Health Checker found 1 new failures
WARNING: detected duplicate paths to the same disk:
让我们看一下其中的一个设备,
.
WARNING: detected duplicate paths to the same disk:
/dev/oracle_lun05‘ and
/dev/sdk

brw-rw—-. 1 oracle oinstall 253, 10 Jun 17 14:54 /dev/oracle_lun05

brw-rw—-. 1 root disk 8, 160 Jun 17 14:54 /dev/sdk

multipath {
wwid 36000d31000110a0000000000000001a2
alias Oracle_LUN05

Oracle_LUN05 (36000d31000110a0000000000000001a2) dm-10 COMPELNT,Compellent
Vol
size=50G features=’1 queue_if_no_path’ hwhandler=’0′ wp=rw
`-+- policy=’round-robin 0′ prio=1 status=active
|- 1:0:1:5 sdk 8:160 active ready running <<———————-
|- 1:0:2:5 sdp 8:240 active ready running
|- 2:0:1:5 sdae 65:224 active ready running
`- 2:0:2:5 sdaj 66:48 active ready running
.

 

让我们一起验证访问和内容,

$ sudo dd if=/dev/oracle_lun05 of=/tmp/oracle_lun05.dd bs=1M count=5
[sudo] password for oracle:
5+0 records in
5+0 records out
5242880 bytes (5.2 MB) copied, 0.174492 s, 30.0 MB/s
$ kfed read /dev/oracle_lun05 |egrep “kfbh.type|kfdhdb.driver.provstr|kfdhdb.dsknum|kfdhdb.hdrsts|kfdhdb.grpname”
kfbh.type: 1 ; 0x002: KFBTYP_DISKHEAD
kfdhdb.driver.provstr: ORCLDISK ; 0x000: length=8
kfdhdb.dsknum: 0 ; 0x024: 0x0000
kfdhdb.hdrsts: 3 ; 0x027: KFDHDR_MEMBER
kfdhdb.grpname: DATA_04 ; 0x048: length=7
$ dd if=/dev/sdk of=/tmp/sdk.dd bs=1M count=5
5+0 records in
5+0 records out
5242880 bytes (5.2 MB) copied, 0.323135 s, 16.2 MB/s
$ kfed read /dev/sdk |egrep “kfbh.type|kfdhdb.driver.provstr|kfdhdb.dsknum|kfdhdb.hdrsts|kfdhdb.grpname”
kfbh.type: 1 ; 0x002: KFBTYP_DISKHEAD
kfdhdb.driver.provstr: ORCLDISK ; 0x000: length=8
kfdhdb.dsknum: 0 ; 0x024: 0x0000
kfdhdb.hdrsts: 3 ; 0x027: KFDHDR_MEMBER
kfdhdb.grpname: DATA_04 ; 0x048: length=7
.
.
.
.
—So sdk and Oracle_LUN05 is duplicating .
Same base device is pointed by two path /dev/sdk and /dev/oracle_lun05 and they are accessible to ASM.

变化

最后一次存储/系统管理员取消提供强制性的快照,并代表数据LUN

原因

 

+ ASM 实例水平 asm_diskstring是合适的。

 

asm_diskstring                       string      /dev/mapper/Oracle*

+ At ASM resource level,

ALIAS_NAME=
ASM_DISKSTRING=/dev/*
AUTO_START=restore
.
–这导致发现在/ dev /*目录中的所有设备,并导致此问题。

解决方法

 

+ 在asm 实例级别和asm 资源配置文件上保持asm_diskstring 值同步。

为改变asm 配置文件级别,

$ srvctl modify asm -d ‘<asm_diskstring>’

+ 然后重启ASM实例。

关注dbDao.com的新浪微博

扫码关注dbDao.com 微信公众号:

沪公网安备 31010802001379号

TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569