此oracle问题本人在论坛上作了提问http://bbs.51cto.com/thread-1167548-1.html,最后自己找到方法解决,以此博客再作记录。
环境:CentOS6.5 64位,Oracle 11g R2 11.2.0.1.0
现象:oracle rac生产环境中,已经有一个实例正常使用,有需求再建一实例。
新建实例过程中,最后步骤具体报错如下:
[Thread-829] [ 2015-09-09 11:29:42.007 CST ] [DatabaseImpl.createStopDep:3579] stop dependencies = hard(intermediate:ora.asm,shutdown:ora.DG_DATA.dg)
[Thread-829] [ 2015-09-09 11:29:42.057 CST ] [InstanceStepOPS.executeImpl:952] PRCR-1006 : Failed to add resource ora.proxy.db for null
PRCR-1071 : Failed to register or update resource ora.proxy.db
CRS-2566: User 'oracle' does not have sufficient permissions to operate on resource 'ora.LISTENER.lsnr', which is part of the dependency specification.
[Thread-829] [ 2015-09-09 11:29:42.057 CST ] [BasicStep.configureSettings:304] messageHandler being set=oracle.sysman.assistants.util.UIMessageHandler@30394ffa
[Thread-829] [ 2015-09-09 11:29:42.057 CST ] [BasicStep.configureSettings:304] messageHandler being set=oracle.sysman.assistants.util.UIMessageHandler@30394ffa
oracle.sysman.assistants.util.step.StepExecutionException: PRCR-1006 : Failed to add resource ora.proxy.db for null
PRCR-1071 : Failed to register or update resource ora.proxy.db
CRS-2566: User 'oracle' does not have sufficient permissions to operate on resource 'ora.LISTENER.lsnr', which is part of the dependency specification.
at oracle.sysman.assistants.dbca.backend.InstanceStepOPS.executeImpl(InstanceStepOPS.java:953)
at oracle.sysman.assistants.util.step.BasicStep.execute(BasicStep.java:210)
at oracle.sysman.assistants.util.step.BasicStep.callStep(BasicStep.java:251)
at oracle.sysman.assistants.dbca.backend.DBEntryStep.executeImpl(DBEntryStep.java:229)
at oracle.sysman.assistants.util.step.BasicStep.execute(BasicStep.java:210)
at oracle.sysman.assistants.util.step.Step.execute(Step.java:140)
at oracle.sysman.assistants.util.step.StepContext$ModeRunner.run(StepContext.java:2667)
at java.lang.Thread.run(Thread.java:595)
解决办法:
参考了http://www.linuxidc.com/Linux/2015-01/111579.htm文章,
1.尝试用oracle用户手动注册数据库资源,srvctl add database -d proxy -o $ORACLE_HOME,提示已经注册Server pool。
2.使用root用户删除,crsctl delete serverpool ora.proxy
3.使用oracle用户手动注册数据库资源,srvctl add database -d proxy -o $ORACLE_HOME
4.上面执行结果提示权限问题,于是查看报错资源详情,crsctl stat res ora.LISTENER.lsnr -p
5.使用root用户手动修改资源权限,crsctl modify resource "ora.LISTENER.lsnr" -attr "ACL='owner:grid:rwx,pgrp:oinstall:r-x,other::r--'"
以下是解决过程截图:
最后问题解决。问题造成的原因应该是操作时不注意用户,使用root操作了grid的相关操作。