ASM装载磁盘组时ORA-15063错误处理

ASM装载磁盘组时ORA-15063错误处理

一次重启LINUX后,启动ASM实例时,发生了这个错误:

SQL> startup

ASM instance started

Total System Global Area 130023424 bytes

Fixed Size 2071000 bytes

Variable Size 102786600 bytes

ASM Cache 25165824 bytes

ORA-15032: not all alterations performed

ORA-15063: ASM discovered an insufficient number of disks for diskgroup

"DWDATA"

查看错误信息:

15063, 00000, "ASM discovered an insufficient number of disks for diskgroup \"%s\""

// *Cause: ASM was unable to find a sufficient number of disks belonging to the

// diskgroup to continue the operation.

// *Action: Check that the disks in the diskgroup are present and functioning,

// that the owner of the ORACLE binary has read/write permission to

// the disks, and that the ASM_DISKSTRING initialization parameter

// has been set correctly. Verify that ASM discovers the appropriate

// disks by querying V$ASM_DISK from the ASM instance.

可以看到这个错误是由于ASM实例无法装载硬盘组的所有磁盘而引起的,有可能是权限问题。马上想到是否是由于OS重启后祼设备的用户、权限是否变更,导致ORACLE用户没有权限访问祼设备。将祼设备的权限更改完后,果然ASM能够正常启动。其实这个问题还是很简单的,LINUX启动后默认会把祼设备的拥有者改为root用户,只需把/etc/udev/permissions.d/50-udev.permissions 这个文件中的行“raw/*:root:disk:0660”注释掉,添加新行“raw/*:oracle:dba:0660”,这样系统启动后祼设备的拥有者就变为ORACLE用户了,当然如果祼设备还有其他用户的话,那么就需要针对不同的祼设备进行更改了。
(6)m:b