轉:ORA-15186: ASMLIB error function = [asm_open], error = [1], 2009-05-24 13:57:38
http://space.itpub.net/471666/viewspace-406996
ORA-15186: ASMLIB error function = [asm_open], error = [1], mesg = [Operation not permitted]
參考 Metalink Note:398622.1
Subject: ORA-15186: ASMLIB error function = [asm_open], error = [1], mesg = [Operation not permitted]
Doc ID: Note:398622.1 Type: PROBLEM
Last Revision Date: 06-MAY-2008 Status: PUBLISHED
In this Document
Symptoms
Cause
Solution
References
Applies to:
Oracle Server - Enterprise Edition - Version: 10.1.0
This problem can occur on any platform.
Oracle Database ASM (Automatic Storage Management) instance
Oracle ASMLib
Raw devices
Symptoms
The Oracle Database ASM instance reports ORA-15186 error in the alert.log, for example:
ORA-15186: ASMLIB error function = [asm_open], error = [1], mesg = [Operation not permitted].
The error occurs periodically, most notably during ASM instance startup and as a result of V$ASM_... view queries, as well as during RMAN backup.
Despite the error, however, no adverse affects are observed.
Cause
By default, Oracle Database ASM instance parameter 'ASM_DISKSTRING' is unset and therefore uses a default value of '*'. This means that the ASM instance scans both/dev/raw/and/dev/oracleasm/disks/directories when searching for oracle ASM disks.
When using a combination of oracleasm disks (/dev/oracleasm/disks/*) with raw devices (/dev/raw/*), in particular where some raw devices are not owned by or accessible to the oracle user) as well as ASM instance parameter 'ASM_DISKSTRING' with an unspecified value, error ORA-15186 is likely to occur.
Solution
The solution is to explictly set Oracle ASM instance parameter 'ASM_DISKSTRING' such that it only scans for oracleasm disks (e.g. with label ORCL:*) or to set the value to scan only intended oracleasm devices known to be oracleasm disks.
Explicitly setting 'ASM_DISKSTRING' is recommended as it increases oracle ASM disk scan performance by restricting the number of devices scanned to only those marked with the default provisioned 'ORCL:' label prefix or scanning only a given subset of devices.
Examples of setting ASM_DISKSTRING parameter include:
SQL> alter system set asm_diskstring='ORCL:*' scope=both;
...
SQL> alter system set asm_diskstring='/dev/raw/raw6,/dev/raw/raw7,/dev/raw/raw8' scope=both;
...
SQL> alter system set asm_diskstring='/dev/mapper/mpath0,/dev/mapper/mpath1,/dev/mapper/mpath2' scope=both;
...
Note: whilst limiting the 'ASM_DISKSTRING' value to a specific list of disks ensures optimal ASM instance scan performance, the parameter value must be modified to include any new devices whenever oracleasm disks are added or removed.
References
Note 391136.1- New ASMLib / oracleasm Disk Gets "header_status=Unknown" - Cannot be Added to Diskgroup
Keywords
AUTOMATIC~STORAGE~MANAGEMENT; RAW~DEVICE; ORACLEASM; ASMLIB;