RDBMS : 19.19
修改RAC权限及相关问题
修改RAC权限,参考文档:
How to check and fix file permissions on Grid Infrastructure environment (Doc ID 1931142.1)
Script to capture and restore file permission in a directory (for eg. ORACLE_HOME) (Doc ID 1515018.1)
Agent Is Not Started By "pid is not initialized" And CRS-2680 (Doc ID 2763543.1)
问题背景
1 GI和ORACLE的ORACLE_HOME被chown,chmod
处理过程
1 使用文档Doc ID 1931142.1 Doc ID 1515018.1 修改权限,修改后,CRS能正常启动
2 修改权限后,srvctl start database,无法启动数据库,该命令一致处于hung的状态,而且数据库alert log无任何日志信息输出
3 此时,查看集群状态,集群的db状态为UAH/clean ,随后变成stable
4 随后,发现使用sqlplus statup方式来启动数据库,alert log中有启动过程,但是一直hung住,而且会影响到另一个节点
5 尝试关闭crs,crs无法关闭,加上-f参数,也无法关闭
6 disable crs ,关OS,启动OS
7 再次启动CRS,查看crs相关log ,其中有
crs-5828 : could not start agent 'GI_HOME/bin/oraagent_oracle'.details at /xxx/xxx/crs/trace/crsd.trc
crs-5828 : could not start agent 'GI_HOME/bin/oraagent_oracle'.details at /xxx/xxx/crs/trace/crsd.trc
8 查看crsd.trc ,其中有
created alert: failed to start the agent /GI_HOME/bin/oraagent_oracle
rejecting pending msgs for ora.db_name.db 2 1
rejecting msg :4098
agfw proxy server sending the last reply to PE for message :RESOURCE_START[ora.db_name.db 2 1]
can not stop the agent /GI_HOME/bin/oraagent_oracle because pid is not initialized
agfw proxy,server received the message : RESOURCE_CLEAN [ora.db_name.db 2 1]
starting the agent : /GI_HOME/bin/oraagent_oracle with user id ; oracle and incranation :5
从上面第8步,可以看到,无法启动oraagent等相关进程,但是此刻crsctl check crs,返回结果正常。
无法启动oraagent的原因,是 pid is not initialized
可以看到oraagent_oracle incranation :5 。
另外,查看oraagent相关进程,有问题的节点上,只有2个,正常的节点上,有3个。
根据以上的信息,可以判定,oraagent无法folk出来,或者spawn出来(无法spawn出来,其他trc可以参考,这里没有抓取出来)
关键字: pid is not initialized 、 RESOURCE_CLEAN 、oracle and incranation :5
根据以上trc的分析,与MOS文档Agent Is Not Started By "pid is not initialized" And CRS-2680 (Doc ID 2763543.1)内容较吻合。
使用该文档的方法解决。
该问题,可能还是修改权限后,恢复出来的权限,output文件夹中,一些pid的权限不对,设置为正确的权限即可。
本次处理,按照MOS,清理掉output文件夹中内容,GI自动生成相关文件,随后GI启动正常。各个oraagent 正常,启动数据库正常。
END