ORA-15018: diskgroup cannot be created

Errrors:



SQL> create diskgroup DG03 external redundancy disk '/dev/abc' attribute 'compatible.asm'='11.2';

create diskgroup DG03 external redundancy disk '/dev/abc' attribute 'compatible.asm'='11.2'

*



ORA-15018: diskgroup cannot be created

ORA-15031: disk specification '/dev/abc' matches no disks

ORA-15025: could not open disk "/dev/abc"

ORA-15056: additional error message

Linux-x86_64 Error: 13: Permission denied

Cause: Permission of the raw device path as root


[grid@lab-test-db1 bin]$ ls -lrt /dev/abc

brw-rw---- 1 root disk 8, 32 Feb  8 16:11 /dev/abc
 
Solution :

1. Although you may change the raw device path to grid : oinstall it gets reverted back to root as below

[grid@lab-test-db1 ~]$ sudo chown -R grid:oinstall /dev/abc
[grid@lab-test-db1 ~]$  ls -lrt /dev/abc
brw-rw---- 1 grid oinstall 8, 32 Feb  8 16:42 /dev/abc


SQL> create diskgroup DG03 external redundancy disk '/dev/abc' attribute 'compatible.asm'='11.2';
create diskgroup DG03 external redundancy disk '/dev/abc' attribute 'compatible.asm'='11.2'
*
ERROR at line 1:
ORA-15018: diskgroup cannot be created
ORA-15131: block  of file  in diskgroup  could not be read
 

[grid@lab-test-db1 bin]$ ls -lrt /dev/abc

brw-rw---- 1 root disk 8, 32 Feb  8 16:11 /dev/abc

 

 2. Solution for the permission issue is to add udev rule & point device path to /dev/raw/raw1 as below (server reboot)

[grid@lab-test-db1 ~]$ more /etc/udev/rules.d/60-raw.rules
ACTION=="add", KERNEL=="abc", RUN+="/bin/raw /dev/raw/raw1 %N"
# To set permissions:
KERNEL=="raw*", OWNER:="grid", GROUP:="oinstall", MODE:="0660"

3. Create diskgroup


SQL> create diskgroup DG03 external redundancy disk '/dev/raw/raw1' attribute 'compatible.asm'='11.2';


Diskgroup created.



1 comment: