ORA-15183 Unable to Create DB on Server using 11.2 ASM and GI_1054033.1

rongshiyuan發表於2014-03-10

ORA-15183 Unable to Create Database on Server using 11.2 ASM and Grid Infrastructure (Doc ID 1054033.1)

In this Document

Symptoms
Cause
Solution
  Scalability RAC Community
References

Applies to:

Oracle Server - Enterprise Edition - Version 10.2.0.1 to 11.2.0.3 [Release 10.2 to 11.2]
Information in this document applies to any platform.

Symptoms

Using 11.2.0.1 Grid Infrastructure and ASM, try to create pre-11.2 database as RDBMS software owner "oradb", while Grid is installed as grid user "oragrid", getting error in "create database ..." command:

For 11.1.0.x database, the error is like:

ERROR: asm_version error. err: driver/agent not installed rc:2
ORA-15183: ASMLIB initialization error [driver/agent not installed]
WARNING:FAILED to load library: /opt/oracle/extapi/64/asm/orcl/1/libasm.so
ERROR: asm_init(): asm_erc:-5 msg:Driver not installed pid:25261


For 10.2.0.x database, the error is like:

Foreground process get:
ORA-03113: end-of-file on communication channel

In alert log:
----------
Fri May 20 11:02:10 2011
Errors in file /u01/app/oradb2/oracle/product/10.2.0/db_1/rdbms/log/rac1_rbal_8541.trc:
ORA-15183: ASMLIB initialization error [driver/agent not installed]
Fri May 20 11:02:10 2011
Errors in file /u01/app/oradb2/oracle/product/10.2.0/db_1/rdbms/log/rac1_rbal_8541.trc:
ORA-15183: ASMLIB initialization error [/opt/oracle/extapi/32/asm/orcl/1/libasm.so]
ORA-15183: ASMLIB initialization error [driver/agent not installed]
Fri May 20 11:02:10 2011
Errors in file /u01/app/oradb2/oracle/product/10.2.0/db_1/rdbms/log/rac1_psp0_8496.trc:
ORA-00600: internal error code, arguments: [kfkLoadByNum03], [0x20006618], [], [], [], [], [], []


Or if the database is created in earlier release, after upgrade to 11.2 Grid Infrastructure and ASM, user orasup in dba group (not the RDBMS software owner) can not query v$database:

[orasup@node2]sqlplus / as sysdba
SQL>  select * from v$database;
ORA-03113: end-of-file on communication channel

alert log shows error: ORA-600[kfk_load_by_idx_in_pga9]


The grid, oracle and orasup users are defined as:

[oragrid@node2]$ id oragrid
uid=212(oragrid) gid=201(oinstall) groups=201(oinstall),202(dba),204(asmadmin),205(asmdba),220(asmoper)

[oradb@node2]$ id oradb
uid=215(oradb) gid=201(oinstall) groups=201(oinstall),202(dba),205(asmdba),222(oper)

[orasup@node2] $ id orasup
uid=217{orasup) gid=202(dba)
groups=202(dba),205(asmdba),222(oper)

Cause

This is caused by the use of job role separation and oracle binary not having the proper group ownership preventing the database software owner "oradb" from accessing the ASMlib driver or ASM disks.

During 11.2 Gird Infrastructure installation, it prompts to select ASM admin group and ASM dba group. Assume asmadmin is used for ASM admin group and asmdba is used for ASM dba group.
Only users that are members of the asmadmin group have direct access to ASM disks and maintenance. For other database users (software owners or dba group users), the access is gained via the oracle executable ($ORACLE_HOME/bin/oracle). It should have a setgid bit with group set to "asmadmin".

The 11.2 "oracle" binary is changed automatically via setasmgidwrap when the instance is started by the CRS daemon (e.g. srvctl start database/instance). But for earlier release, the "oracle" binary group and ownership need to be set manually.

In this case, the oracle binary is owned by
-rwsr-s--x 1 oracle oinstall
instead of
-rwsr-s--x 1 oracle asmadmin

For Linux platform, one can verify via "/usr/sbin/oracleasm configure" to confirm the ASM admin group group setting:

ORACLEASM_UID=grid
ORACLEASM_GID=asmadmin

For other platform, check installAction.log for OSASM setting.

Solution

1. Manually change the oracle binary ownership and permission:

as root user:
# cd $ORACLE_HOME/bin
# chgrp asmadmin oracle
# chmod 6751 oracle
# ls -l oracle


Ensure the ownership and permission is now like:

-rwsr-s--x 1 oradb asmadmin

With 11.2.0.2+ GI, the same change can be achieved via the following commands: (refer to Document 1084186.1 Database Creation on 11.2 Grid Infracture with Role Separation ( ORA-15025, KFSG-00312, ORA-15081 ) )

$ su - grid
$ cd /bin
$ ./setasmgidwrap o=/bin/oracle

 
2. Restart the instance

3. Retry "create database" command or retry the query as dba group  user.

* Note 1: This change is only required for RDBMS $ORACLE_HOME/bin/oracle. Please do not modify $GRID_HOME/bin/oracle binary ownership.
* Note 2: Anytime when a patch is applied to the database ORACLE_HOME, please ensure above ownership and permission is corrected after the patch.

 

Scalability RAC Community

To discuss this topic further with Oracle experts and industry peers, we encourage you to review, join or start a discussion in the My Oracle Support Scalability RAC Community.

References

BUG:9575578 - KFSG-00312: NOT AN ORACLE BINARY, USING SETASMGIDWRAP
NOTE:1084186.1 - Database Creation on 11.2 Grid Infracture with Role Separation ( ORA-15025, KFSG-00312, ORA-15081 )

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/17252115/viewspace-1104347/,如需轉載,請註明出處,否則將追究法律責任。

相關文章