I was engaged in an interesting Oracle 12c patching today. Patch applicability was checked by using:
"$GRID_HOME/OPatch/opatchauto apply /u01/app/oracle/software/24436306 -analyze"
and it failed because its a non-rolling patch:
"OPATCHAUTO-72085: Cannot execute in rolling mode, as execution mode is set to non-rolling for patch ID 24315824.
OPATCHAUTO-72085: Execute in non-rolling mode by adding option '-nonrolling' during execution. e.g./OPatch/opatchauto apply -nonrolling
After fixing the cause of failure Run opatchauto resume with session id "F7ET "]"
So now I wanted to analyze the patch with non-rolling option.
$GRID_HOME/OPatch/opatchauto apply /u01/app/oracle/software/24436306 -analyze -nonrolling
OPatchauto session is initiated at Mon May 15 01:32:43 2017
Exception in thread "main" java.lang.NoClassDefFoundError: oracle/ops/mgmt/cluster/NoSuchExecutableException
at com.oracle.glcm.patch.auto.db.util.SystemInfoGenerator.loadOptions(SystemInfoGenerator.java:322)
at com.oracle.glcm.patch.auto.db.util.SystemInfoGenerator.validateOptions(SystemInfoGenerator.java:280)
at com.oracle.glcm.patch.auto.db.util.SystemInfoGenerator.main(SystemInfoGenerator.java:134)
Caused by: java.lang.ClassNotFoundException: oracle.ops.mgmt.cluster.NoSuchExecutableException
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 3 more
OPatchauto session completed at Mon May 15 01:32:44 2017
Time taken to complete the session 0 minute, 1 second
opatchauto bootstrapping failed with error code 1.
"
Solution:
In 12c, we have the patching sessions with their configuration in JSON files.
So go to directory $grid_home/OPatch/auto/dbsessioninfo/
and find the JSON file with session id F7ET, which was given in above error.
Edit this file and change the flag of non-rolling to TRUE.
{
"key" : "nonrolling",
"value" : "false"
},
Change above to :
{
"key" : "nonrolling",
"value" : "true"
},
Save the file and run the opatchauto analyze again with resume session
$GRID_HOME/OPatch/opatchauto resume -session F7ET
and it works!!!
Happy Patching!!!
"$GRID_HOME/OPatch/opatchauto apply /u01/app/oracle/software/24436306 -analyze"
and it failed because its a non-rolling patch:
"OPATCHAUTO-72085: Cannot execute in rolling mode, as execution mode is set to non-rolling for patch ID 24315824.
OPATCHAUTO-72085: Execute in non-rolling mode by adding option '-nonrolling' during execution. e.g.
After fixing the cause of failure Run opatchauto resume with session id "F7ET "]"
So now I wanted to analyze the patch with non-rolling option.
$GRID_HOME/OPatch/opatchauto apply /u01/app/oracle/software/24436306 -analyze -nonrolling
OPatchauto session is initiated at Mon May 15 01:32:43 2017
Exception in thread "main" java.lang.NoClassDefFoundError: oracle/ops/mgmt/cluster/NoSuchExecutableException
at com.oracle.glcm.patch.auto.db.util.SystemInfoGenerator.loadOptions(SystemInfoGenerator.java:322)
at com.oracle.glcm.patch.auto.db.util.SystemInfoGenerator.validateOptions(SystemInfoGenerator.java:280)
at com.oracle.glcm.patch.auto.db.util.SystemInfoGenerator.main(SystemInfoGenerator.java:134)
Caused by: java.lang.ClassNotFoundException: oracle.ops.mgmt.cluster.NoSuchExecutableException
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 3 more
OPatchauto session completed at Mon May 15 01:32:44 2017
Time taken to complete the session 0 minute, 1 second
opatchauto bootstrapping failed with error code 1.
"
Solution:
In 12c, we have the patching sessions with their configuration in JSON files.
So go to directory $grid_home/OPatch/auto/dbsessioninfo/
and find the JSON file with session id F7ET, which was given in above error.
Edit this file and change the flag of non-rolling to TRUE.
{
"key" : "nonrolling",
"value" : "false"
},
Change above to :
{
"key" : "nonrolling",
"value" : "true"
},
Save the file and run the opatchauto analyze again with resume session
$GRID_HOME/OPatch/opatchauto resume -session F7ET
and it works!!!
Happy Patching!!!
No comments:
Post a Comment