- 最后登录
- 2014-3-27
- 在线时间
- 21 小时
- 威望
- 0
- 金钱
- 123
- 注册时间
- 2013-5-9
- 阅读权限
- 10
- 帖子
- 36
- 精华
- 0
- 积分
- 0
- UID
- 1082
|
2#
发表于 2013-10-10 11:23:35
看了MOS上的一篇文章:
MOS:
APPLIES TO:
Oracle Database - Enterprise Edition - Version 11.2.0.2 and later
Information in this document applies to any platform.
SYMPTOMS
Reported on RDBMS alert.log:
WARNING: ASM communication error: op 0 state 0x0 (15055)
ERROR: direct connection failure with ASM
ASM side (and RDBMS may too) reports ORA-1031
CAUSE
Different cases for this 15055 issue reported on bug 13495419.
The diagnostic information (Could not find username oracle in group oinstall) indicate that ASM returned ORA-1031 back to RDBMS and eventually the query resulted in ora-1031/ORA-15055.
RDBMS will always make a connection to the ASM instance as the Oracle binary owner (or the effective user id due to setuid bit) of the RDBMS home binary.
In this case, at RDBMS home side, OS user is "patrol" and connected to database as DB user "patrol_dba1". When v$asm_diskgroup is queried, RDBMS would connect as Oracle binary owner (which is "oracle"). Now, at ASM side the authentication process would have the group id of OS user "patrol" (i.e 1284) and user id as "oracle". As the connection is made as SYSDBA, it would use the group name which is assigned for SYSDBA. In this case it is "oinstall". Group id of "onistall" group is 2001. As 2001 != 1284, it checks if "oracle" is also a part of "oinstall" group in "/etc/group" (secondary group). It finds that "oracle" does not belong to "onistall" group, it returns an error.
If oinstall group is not set to patrol user, on database instance, queries to the v$asm* views will return incorrect data (i.e. no rows), when the same query on the ASM instance will return the correct information.
Even in case of a "direct" connection (sqlplus / as sysdba) when OS user is "patrol", you can see that the "real" group id of "patrol" (1284) does not match with the group id of the group "oinstall" (2001) designated for SYSDBA. It will search for presence of "patrol" user in "/etc/group". For "oracle" its not a problem as "real" group id matches the group id of "oinstall" (2001) [primary group of oracle].
SOLUTION
To make this work there are 2 options:
1. make primary group of OS user "patrol" (or the non-install user) as "oinstall"
2. add "oracle" to "oinstall" group in "/etc/group" of ASM home.
This is not a bug but expected behavior.
REFERENCES
BUG:13495419 - WARNING: ASM COMMUNICATION ERROR: (15055) ERROR: DIRECT CONNECTION
感觉跟他说的不一样。我的oracle用户是在oinstall组里 |
|