環境: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
oracle.sysman.assistants.util.step.StepExecutionException: PRCR-1006 : Failed to add resource ora.proxy.db for null
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.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)
解決辦法:
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的相關操作。
本文轉自 ygqygq2 51CTO部落格,原文連結:http://blog.51cto.com/ygqygq2/1869883,如需轉載請自行聯系原作者