Thursday, March 3, 2016

using oplan

While preparing for the QFSDP of january 2016 we ran into an issue with oplan. We wanted to use oplan to generate the steps for patching since opatchauto couldn't be used in this case. but ran into this on a exadata OVM machine with plenty of rac databases

oracle.oplan.sdk.OPlanException: There is no RAC DB Instance running onexa01adm01vm01
 at oracle.oplan.db.cmdtranslator.commands.SqlPatchCommand.getOracleSIDForActiveInstance(SqlPatchCommand.java:272)
 at oracle.oplan.db.cmdtranslator.commands.SqlPatchCommand.getExecutionStep(SqlPatchCommand.java:104)
 at oracle.oplan.db.cmdtranslator.commands.SqlPatchCommand.generateExecutionSteps(SqlPatchCommand.java:64)
 at oracle.oplan.sdk.cmdtranslator.Command.getExecutionSteps(Command.java:101)
 at oracle.oplan.core.engine.SequencingEngine.expandRollingPhase(SequencingEngine.java:113)
 at oracle.oplan.core.engine.SequencingEngine.expandPhases(SequencingEngine.java:250)
 at oracle.oplan.core.engine.SequencingEngine.getExecutionPlan(SequencingEngine.java:271)
 at oracle.oplan.sdk.oplan.OPlan.process(OPlan.java:528)
 at oracle.oplan.sdk.oplan.OPlan.generateApplySteps(OPlan.java:705)
 at oracle.oplan.sdk.oplan.OPlan.main(OPlan.java:653)

after scratching our head we figured out that this was due to a database that was not running. since it wasn't needed anymore we removed it from the cluster and then everything went fine. The problem is that the error message is not clear at all. hope this helps when you encounter this .