We recently ran into a bug (at least that how I look at it) that is introduced with ASM 11.2.0.3. As of this version,
ASM shows slice 2 (the complete disk, starting a cylinder 0 thus inlcuding the VTOC) as an CANDIDATE disk in ASM.
In previous versions of ASM (Grid Infra) only slices that started from cylinder 3 (or higher) where shown as CANDIDATE disks in ASM,
so you couldn’t accidently select slice 2 to be used for a diskgroup.
In ASM 11.2.0.3 it is possible to add the slice 2 (for example *c0t0d0s2) to an ASM diskgroup while another slice of the same disk,
starting at cylinder 3, is already part of the same or even another diskgroup. You can understand what a mess this gives!
starting at cylinder 3 (see MOS note: ASM Does Not Discover Disk on Solaris [ID 368840.1]).
1 2 3 4 5 6 7 8 9 10 11 12 |
Current partition table (original): Total disk cylinders available: 13651 + 2 (reserved cylinders) Part Tag Flag Cylinders Size Blocks 0 root wm 3 - 13650 49.98GB (13648/0/0) 104816640 1 unassigned wu 0 0 (0/0/0) 0 2 backup wu 0 - 13650 49.99GB (13651/0/0) 104839680 3 unassigned wm 0 0 (0/0/0) 0 4 unassigned wm 0 0 (0/0/0) 0 5 unassigned wm 0 0 (0/0/0) 0 6 unassigned wm 0 0 (0/0/0) 0 7 unassigned wm 0 0 (0/0/0) 0 |
ASM (11.2.0.3) discovers the following disks now. Take a good look at the disk number of the MEMBER disks and CANDIDATE disks:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
SQL> select path,header_status from v$asm_disk order by 1,2; PATH HEADER_STATUS -------------------------------------------------- --------------- /dev/rdsk/c3t60060E8005492800000049280000319Dd0s0 MEMBER /dev/rdsk/c3t60060E8005492800000049280000319Dd0s2 CANDIDATE /dev/rdsk/c3t60060E8005492800000049280000319Ed0s0 MEMBER /dev/rdsk/c3t60060E8005492800000049280000319Ed0s2 CANDIDATE /dev/rdsk/c3t60060E8005492800000049280000319Fd0s0 MEMBER /dev/rdsk/c3t60060E8005492800000049280000319Fd0s2 CANDIDATE /dev/rdsk/c3t60060E800549280000004928000031A0d0s0 MEMBER /dev/rdsk/c3t60060E800549280000004928000031A0d0s2 CANDIDATE /dev/rdsk/c3t60060E800549280000004928000031A6d0s0 MEMBER /dev/rdsk/c3t60060E800549280000004928000031A6d0s2 CANDIDATE /dev/rdsk/c3t60060E800549280000004928000031A7d0s0 MEMBER /dev/rdsk/c3t60060E800549280000004928000031A7d0s2 CANDIDATE /dev/rdsk/c3t60060E800549280000004928000031A8d0s0 MEMBER /dev/rdsk/c3t60060E800549280000004928000031A8d0s2 CANDIDATE /dev/rdsk/c3t60060E800549280000004928000031A9d0s0 MEMBER /dev/rdsk/c3t60060E800549280000004928000031A9d0s2 CANDIDATE /dev/rdsk/c3t60060E800549280000004928000031CBd0s0 MEMBER /dev/rdsk/c3t60060E800549280000004928000031CBd0s2 CANDIDATE |
I have created an SR for this problem, but until then you’ll have the following options:
- Set the ASM_DISKSTRING parameter to /dev/rdsk/*s0 (or whatever slice you normally use)
- Make sure the user grid does not have any privileges on the /dev/rdsk/*s2 devices.
Update 26-02-2013:
Oracle Support finally came back with an answer and a patch.
The most important thing is that they agree that this is actually a bug and created a bug (bug nr. 14577881) for it.
Support tells me that the problem is “really” fixed in Oracle 12.2 (when even 12.1 is not even released yet ;-)) but they have created a backport request for it.
I just got back that the backport is available as a one-off patch downloadable as patch 14577881 for 11.2.0.3.