Case: (All Disks in a failgroup are lost after a disk/LUN failure)
Redundancy | NORMAL |
FAILGROUP | DISK |
Controller1 | VOL1, VOL2 |
Controller2 | VOL4, VOL5 |
Suppose All Disk (VOL4, VOL5) in failgroup (Controller2) is lost.
Workaround:
- Execute following query on ASM instance. (This will show you ASM disk status)
Select GROUP_NUMBER, DISK_NUMBER, MOUNT_STATUS, STATE, REDUNDANCY, TOTAL_MB, FREE_MB, FAILGROUP, NAME from v$asm_disk;
GROUP DISK MOUNT_S STATE REDUNDA TOTAL_MB FREE_MB FAILGROUP NAME
1 3 MISSING NORMAL UNKNOWN 0 0 VOL4
1 4 MISSING NORMAL UNKNOWN 0 0 VOL5
1 0 CACHED NORMAL UNKNOWN 2047 1269 CONTROLLER1 VOL1
Result will show Disk VOL4 and VOL5 is Missing.
- Add Disk physically, create partition, and scan ASM disk and list ASM disk. You will show delete disk (VOL4 and VOL5)
- Again execute bellow Query:
Select GROUP_NUMBER, DISK_NUMBER, MOUNT_STATUS, STATE, REDUNDANCY, TOTAL_MB, FREE_MB, FAILGROUP, NAME from v$asm_disk;
GROUP DISK MOUNT_S STATE REDUNDA TOTAL_MB FREE_MB FAILGROUP NAME
0 0 CLOSED NORMAL UNKNOWN 2047 0
0 1 CLOSED NORMAL UNKNOWN 3067 0
1 4 MISSING HUNG UNKNOWN 0 0 VOL5
1 3 MISSING HUNG UNKNOWN 0 0 VOL4
1 0 CACHED NORMAL UNKNOWN 2047 1269 CONTROLLER1 VOL1
- Now delete the ASM Disk, scan ASM Disk and list disk (VOL4 and VOL5)
/etc/init.d/oracleasm deletedisk VOL4
/etc/init.d/oracleasm deletedisk VOL5
The list ASM disk will not show Disk (VOL4 and VOL5)
- Create ASM Disk, scan and list ASM Disk with Different Disk name.
/etc/init.d/oracleasm createdisk VOL 4NEW /dev/sdc1
/etc/init.d/oracleasm createdisk VOL 5NEW /dev/sdd1
The list ASM Disk will show Disk (VOL4NEW and VOL5NEW)
- Now we add Newelly added ASM Disk to DISKGROUP.
ALTER DISKGROUP
DISK
'ORCL: VOL4NEW’,’ORCL: VOL5NEW’;
- Execute following query and check your disk status.
Select GROUP_NUMBER, DISK_NUMBER, MOUNT_STATUS, STATE, REDUNDANCY, TOTAL_MB, FREE_MB, FAILGROUP, NAME from v$asm_disk;
------------END-----------------
Case: (One or two Disk but not all Disks in a failgroup are lost after a disk/LUN failure)
Redundancy | NORMAL |
FAILGROUP | DISK |
Controller1 | VOL1, VOL2 |
Controller2 | VOL4, VOL5 |
Suppose One Disk (VOL5) in failgroup (Controller2) is lost.
Workaround:
- Execute following query on ASM instance. (This will show you ASM disk status)
Select GROUP_NUMBER, DISK_NUMBER, MOUNT_STATUS, STATE, REDUNDANCY, TOTAL_MB, FREE_MB, FAILGROUP, NAME from v$asm_disk;
GROUP DISK MOUNT_S STATE REDUNDA TOTAL_MB FREE_MB FAILGROUP NAME
1 2 MISSING NORMAL UNKNOWN 0 0 VOL5
1 0 CACHED NORMAL UNKNOWN 2047 1269 CONTROLLER1 VOL1
1 1 CACHED NORMAL UNKNOWN 2047 1732 CONTROLLER2 VOL4
Result will show Disk VOL5 is Missing.
- Add Disk physically, create partition, and scan ASM disk and list ASM disk. You will show delete disk (VOL5)
- Again execute bellow Query:
Select GROUP_NUMBER, DISK_NUMBER, MOUNT_STATUS, STATE, REDUNDANCY, TOTAL_MB, FREE_MB, FAILGROUP, NAME from v$asm_disk;
GROUP DISK MOUNT_S STATE REDUNDA TOTAL_MB FREE_MB FAILGROUP NAME
0 0 CLOSED NORMAL UNKNOWN 3067 0
1 0 CACHED NORMAL UNKNOWN 2047 1269 CONTROLLER1 VOL1
1 1 CACHED NORMAL UNKNOWN 2047 1269 CONTROLLER2 VOL4NEW
- Now delete the ASM Disk, scan ASM Disk and list disk (VOL5)
/etc/init.d/oracleasm deletedisk VOL5
The list ASM disk will not show Disk (VOL5)
- Create ASM Disk, scan and list ASM Disk with Different Disk name.
/etc/init.d/oracleasm createdisk VOL5 /dev/sdd1
The list ASM Disk will show Disk (VOL5)
- Now we add Newelly added ASM Disk to DISKGROUP.
ALTER DISKGROUP
DISK
'ORCL: VOL5’;
- Execute following query and check your disk status.
Select GROUP_NUMBER, DISK_NUMBER, MOUNT_STATUS, STATE, REDUNDANCY, TOTAL_MB, FREE_MB, FAILGROUP, NAME from v$asm_disk;
------------END-----------------