RAC节点启动失败--ASM无法连接

WBOY
풀어 주다: 2016-06-07 17:40:11
원래의
1098명이 탐색했습니다.

近日遇到一个RAC问题,一个节点无法启动,经过分析后解决,解决过程如下。11.2.0.3RAC环境,其中一个节点instance启动失败,显示如下错误[oracle@exadbmel04~]$c

近日遇到一个RAC问题,一个节点无法启动,经过分析后解决,解决过程如下。

 通过Sqlplus启动,遇到同样的错误

 查看资源,可以看到ASM的实例都是正常的,包括diskgroup,但是实例exadbmel04未启动。

通过查询ORA-27300错误,找到问题点。

这个问题是这个文件 $GI_HOME/bin/oracle 的权限不对,正确的权限应该是 "-rwsr-s--x".将权限修改正确,问题解决。

启动实例,香港服务器,正常启动

 使用sqlplus验证,数据库已经可以正常访问

 

遇到这种问题的可能,

1、是人为修改该文件的权限,

2、还有就是apply patch失败,apply patch的过程会有修改该文件权限为-rwxr-xr-x的动作,在apply patch完成后再修改回来,但是如果apply patch失败,就会导致该文件权限一直是错误的状态,需要手动修改回来。

    最后分析 $GI_HOME/bin/oracle文件权限中的“S”,这个权限问题明白了,oracle的这个问题也就解释了。查询Linux权限,美国服务器,得到这样的解释

Linux 权限模型有两个专门的位,香港空间,叫做“suid”和“sgid”。当设置了一个可执行程序
的“suid”这一位时,它将代表可执行文件的所有者运行,而不是代表启动程序的人运行。
现在,回到
可执行文件,我们可以
看到它属于 root 用户:

。这表明,对于这个特殊程序,
设置了用户执行(
具有完全超级用户访问权),而不是代表运行它的用户运行。又因为用户访
问权运行,所以能够修改 /etc/passwd 文件,而没有什么问题。

suid/sgid 告诫说明

我们看到了 suid 怎样工作,sgid 以同样的方式工作。它允许程序继承程序的组所有权,而不
是当前用户的程序所有权。

引用ITPUB的一个帖子,其中有相关问题及解析

?mod=viewthread&tid=1622940

这里面说的问题原因就是 $ORACLE_HOME/bin/oracle 和  $GI_HOME/bin/oracle下的oracle程序的权限都是这样设置的,并且他们的属组是不同的,所以在实际操作的连接过程中,需要相互调用对方oracle程序,来申请SGA内存区

可以看到下面各自的属组是不同的,如果需要使用对方的应用程序并且使用该应用程序的属组,那么,唯一的办法是使用"S"权限。

 

本文出自 “小小狗窝” 博客,谢绝转载!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!