I have previously written about upgrading Oracle Clusterware from version 10.2.0.3 to 22.214.171.124 and how to do this with a rolling upgrade. I recently was involved with an upgrade from 10.2.0.3 to the 10.2.0.4 patchset (linux x86-64) and found the rolling upgrade of the clusterware to be suitably different that it warrants a short blog posting.
With the 11g upgrade, you had the option of applying the patchset to an individual CRS_HOME at a time, so you could apply the patchset one node at a time, having taking the clusterware down on that node. That feels comfortable and seems like a bit of a rolling upgrade. However with the 10.2.0.4 patchset, I see the following installer screen:
Every option in the above screen shot is greyed out, there is no choice to make and there is no option but to install on both nodes in the cluster simultaneously. At that point I started to worry a little, hmm do I really want to patch the clusterware CRS_HOME while there was clusterware running from this home and RDBMS and ASM instances depending on this clusterware? With the 11g upgrade everything was down on a node while the CRS_HOME for that node was being patched.
Unfortunately, the installation instructions in the README for the patchset are not altogether clear on how you should do a rolling upgrade, just saying you should bring everything down on one node a time. I really thought this was an error at first, and that surely you must apply the patchset to one CRS_HOME at a time to have a safe rolling upgrade.
However I took the plunge and patched the CRS_HOME on both rac nodes at the same time, with the clusterware running as well as the RDBMS & ASM instances. The homes patched fine. At the end of the install process you have to take everything down on one node at a time and run the root102.sh script in the CRS_HOME/install directory. This all upgraded without a hitch:
$oracle> crsctl query crs activeversion
CRS active version on the cluster is [10.2.0.4.0]
It’s a little disconcerting but applying the 10.2.0.4 patchset to Oracle Clusterware can be done in a rolling fashion as long as you don’t worry about patching the CRS_HOME with everything still running!