Upgrade the Operating System in a RAC Environment

Last week at the upgrade workshop in Budapest a customer had a interesting and – I believe – not uncommon question.

“How can I upgrade my Linux Operating System in my RAC environment without taking the entire cluster down?”

In this specific case the customer wanted to upgrade from RHEL 5.10 to RHEL6 or RHEL7.

Let’s assume it’s the typical 2-node-RAC where one wants to upgrade in a rolling fashion. And the data is stored within ASM.

  1. Drain Node 1 (i.e. take the workload off) – this will be the node getting upgraded first
  2. Remove Node 1 from the  cluster (deleteNode procedure)
  3. Upgrade the OS (which is most likely a reimaging of the node). If the OS upgrade does not wipe out the entire server you can follow MOS Note:1559762.1 as it shows an OS upgrade from OL 6.2 to 6.4 which leave the Oracle installations intact)
  4. Add Node 1 back to the cluster (addNode procedure)
  5. Extend the Database Home to Node 1 using either cloning or addNode
  6. Make the database available on the newly added Node 1 and drain Node 2
  7. Repeat steps 2-6 for Node 2 
  8. Ideally now you’ll perform a rolling upgrade of Oracle GI to Oracle Database 12c. Please apply the most recent PSU as well.
  9. Furthermore you may now look into upgrading your databases to Oracle Database 12.1.0.2 as well.

See the following documentation:

–Mike

12 thoughts on “Upgrade the Operating System in a RAC Environment

  1. Thanks for sharing the info.

    When we do addnode in step 4, "Node 1" will be of upgraded OS and so will be upgraded ASMLIB kernel module.

    Will it be ok to run cluster with different nodes having different kernel module ?

  2. we need to upgrade our kernel from 2.6.18-308.el5 to kernel-2.6.18-308.20.1.el5 upon a race condition in the direct I/O functions of the kernel where the value of a data structure changed unexpectedly, leading to a kernel crash.

    IN case of RAC we need to relink or not ?

    Regards
    Maurizio

  3. in case of the mentioned kernel upgrade shloud we install the oracleasm-2.6.18-308.20.1.el5 ? in oracle site we can’t find any related oracleasm kernel drive. http://www.oracle.com/technetwork/server-storage/linux/downloads/rhel5-084877.html where says :

    [oracleasm]
    name=Oracle ASMLib Kernel Drivers for Red Hat Enterprise Linux Server 5
    baseurl=http://yum.oracle.com/repo/OracleASM/RHEL5/$basearch/

    but unfortunately http://yum.oracle.com/repo/OracleASM/RHEL5 doesn’t exist anymore …

    Regards,
    Maurizio

  4. Hi,

    Thanks for sharing this note. We are also trying something similar. We are migrating the RH5 to RH6 environment. On both the environment we installed oracleasm lib and disks are visible on both RH5 (as mounted) and RH6 (as unmounted) . During this migration we are also upgrading from 11gR2 GI to 12cR1 GI.

    I did not find any good documentation on whether we can mount ASM diskgroup allocated to 11g GI to 12C GI. Just wanted to confirm our procedure or if you have any document can you please share.

    1) Shutdown all services on 11g GI RH5 environment
    2) Mount the disks to 12c GI RH6 environment. Verify if we notice any issue and take action on the same.
    3) Once the disks are mounted, add database service in cluster and open the database.

    So far my worry area is whether step 2 will be successful or not as I did not find any good document on the same

  5. We are planning to upgrade from RHEL 6.8 to 6.9 on a 2-node RAC that is running Oracle database 12.1.0.2. We are able to accomodate a downtime for the database. In this scenario, can we simply shutdown the grid infra and database, let the UNIX admin perform the o/s upgrade, and then restart everything?? Do we need to relink oracle or any other executables? We are on netapp storage with cooked filesystems and no ASM. Thanks in advance!! BTW I have checked the certifications tab on MOS and I see that RHEL 6 (and even 7) is certified for Oracle 12.1.

    • Raj,

      it is always wise to relink in such a case – but technically I doubt that it is really necessary when you jump from 6.8 to 6.9.
      But the official advice would be: Yes.

      Cheers
      Mike

Leave a Reply

Your email address will not be published. Required fields are marked *