Knowledge Base : How to patch Oracle Database Appliance

Step-by-step guide

Preparation:

  1. Consult official documentation: https://docs.oracle.com/cd/E22693_01/doc.12/e55580/patches.htm#CMTAR254
  2. Check MOS note 888888.1.
  3. Check 10GB disk space is free in /u01 on both nodes
  4. Check there is at least 200% of disk space available for all Grid and Database homes. The update performs a clone of the Oracle Home in /u01.

It is not necessary to shut down anything manually before the update, not even the databases.

Installation:

  1. Download the patch itself from Oracle. The location is provided in MOS note mentioned above
  2. Upload the patch file to a temporary location ob both nodes
  3. run “oakcli unpack -package path” where path is the location of the patch file on both nodes
  4. run “oakcli validate -c ospatch -ver 12.1.2.5.0” on the first node, where “12.1.2.5.0” is the version of the patch to install
  5. run “oakcli update -patch version” on the first node

Sample update session

[root@oda1 ~]# oakcli unpack -package /home/oracle/Loopback/p21645601_121250_Linux-x86-64_1of2.zip 
Unpacking takes a while, pls wait....
Successfully unpacked the files to repository.
[root@oda1 ~]# oakcli unpack -package /home/oracle/Loopback/p21645601_121250_Linux-x86-64_2of2.zip 
Unpacking takes a while, pls wait....
Successfully unpacked the files to repository.

[root@oda1 ~]# oakcli validate -c ospatch -ver 12.1.2.5.0
INFO: Validating the OS patch for the version 12.1.2.5.0
INFO: 2016-01-06 14:12:51: Running a dry run for OS patching 
INFO: 2016-01-06 14:13:35: There are no conflicts. OS upgrade could be successful
[root@oda1 ~]# oakcli update -patch 12.1.2.5.0 --infra
INFO: DB, ASM, Clusterware may be stopped during the patch if required
INFO: Both nodes may get rebooted automatically during the patch if required
Do you want to continue: [Y/N]?: Y
INFO: User has confirmed the reboot
INFO: Patch bundle must be unpacked on the second node also before applying this patch
Did you unpack the patch bundle on the second node?: [Y/N]?: Y
INFO: All the VMs except OdaBase will be shutdown forcefully if needed
Do you want to continue: [Y/N]?: Y
INFO: Running pre-install scripts
INFO: Running prepatching on node 0
INFO: Running prepatching on node 1
INFO: Completed pre-install scripts
INFO: Stopping VMs, repos and oakd...
INFO: Stopped Oakd
INFO: 2016-01-06 14:41:27: ------------------Patching HMP-------------------------
SUCCESS: 2016-01-06 14:41:53: Successfully upgraded the HMP
INFO: 2016-01-06 14:41:53: creating /usr/lib64/sun-ssm symlink
INFO: 2016-01-06 14:41:53: ----------------------Patching OAK---------------------
SUCCESS: 2016-01-06 14:42:24: Successfully upgraded OAK
INFO: 2016-01-06 14:42:27: ----------------------Patching JDK---------------------
SUCCESS: 2016-01-06 14:42:39: Successfully upgraded JDK
INFO: 2016-01-06 14:42:40: ------------------Patching OS------------------------- 
INFO: 2016-01-06 14:43:17: Clusterware is running on one or more nodes of the cluster
INFO: 2016-01-06 14:43:17: Attempting to stop clusterware and its resources across the cluster
SUCCESS: 2016-01-06 14:43:52: Successfully stopped the clusterware
SUCCESS: 2016-01-06 14:49:01: Successfully upgraded the OS
INFO: 2016-01-06 14:49:13: ----------------------Patching IPMI---------------------
SUCCESS: 2016-01-06 14:49:14: Successfully upgraded IPMI
INFO: 2016-01-06 14:49:26: ----------------Patching the Storage-------------------
INFO: 2016-01-06 14:49:26: ....................Patching SSDs...............
INFO: 2016-01-06 14:49:26: Updating the Disk : d20 with the Firmware : XXXXXXXSUN200G 944A
SUCCESS: 2016-01-06 14:50:03: Successfully updated the Firmware on Disk : d20 to XXXXXXXSUN200G 944A
(...)
INFO: 2016-01-06 14:54:14: ....................Patching Shared HDDs...............
INFO: 2016-01-06 14:54:14: Updating the Disk : d0 with the Firmware : XXXXXXXXXSUN900G A720
(...)
INFO: 2016-01-06 15:22:00: ....................Patching Expanders...............
INFO: 2016-01-06 15:22:00: Expander : c0x0 is already running with : DE2-24P 0018
INFO: 2016-01-06 15:22:00: Expander : c0x1 is already running with : DE2-24P 0018
INFO: 2016-01-06 15:22:01: Expander : c1x0 is already running with : DE2-24P 0018
INFO: 2016-01-06 15:22:01: Expander : c1x1 is already running with : DE2-24P 0018
INFO: 2016-01-06 15:22:02: ....................Patching Controllers...............
INFO: 2016-01-06 15:22:02: Controller : c0 is already running with : 0x0072 11.05.03.00
INFO: 2016-01-06 15:22:02: Controller : c1 is already running with : 0x0072 11.05.03.00
INFO: 2016-01-06 15:22:02: ------------ Completed the Storage Patching------------
INFO: Patching the infrastructure on node: oda2 , it may take upto 60 minutes. Please wait
...
INFO: Patching the Dom0 components
INFO: 2016-01-06 15:30:01: Attempting to patch the HMP on Dom0
SUCCESS: 2016-01-06 15:30:11: Successfully updated the device HMP to the version 2.3.2.4.1 on Dom0
INFO: 2016-01-06 15:30:11: Attempting to patch the IPMI on Dom0
INFO: 2016-01-06 15:30:11: Successfully updated the IPMI on Dom0
INFO: 2016-01-06 15:30:11: Attempting to patch the local storage on Dom0
SUCCESS: 2016-01-06 15:31:53: Successfully updated the firmware on Disk : c0d0 to H109060SESUN600G A720
SUCCESS: 2016-01-06 15:31:54: Successfully updated the firmware on Disk : c0d1 to H109060SESUN600G A720
INFO: 2016-01-06 15:32:07: Controller : c0 is already running with 0x0072 11.05.03.00
INFO: 2016-01-06 15:32:08: Attempting to patch the ILOM & BIOS on Dom0
SUCCESS: 2016-01-06 15:53:07: Successfully updated the device Ilom to 3.2.4.26.b r101722
SUCCESS: 2016-01-06 15:53:08: Successfully updated the device BIOS to 17110500
INFO: 2016-01-06 15:53:08: Attempting to patch OS on Dom0
SUCCESS: 2016-01-06 15:57:20: Successfully updated the device OVM to 3.2.9
INFO: Patching the Dom0 on node: oda2 , it may take upto 20 minutes. Please wait
INFO: Infrastructure patching summary on node: 192.168.16.27
SUCCESS: 2016-01-06 16:24:40: Successfully upgraded the HMP
SUCCESS: 2016-01-06 16:24:40: Successfully updated the OAK
SUCCESS: 2016-01-06 16:24:40: Successfully updated the JDK
SUCCESS: 2016-01-06 16:24:40: Successfully upgraded the OS
SUCCESS: 2016-01-06 16:24:40: Successfully updated the IPMI
INFO: 2016-01-06 16:24:40: Storage patching summary
SUCCESS: 2016-01-06 16:24:40: No failures found during Storage upgrade
SUCCESS: 2016-01-06 16:24:40: Successfully upgraded the HMP on Dom0
INFO: 2016-01-06 16:24:40: Local storage patching summary on Dom0
SUCCESS: 2016-01-06 16:24:40: Successfully upgraded the local storage
SUCCESS: 2016-01-06 16:24:40: Successfully updated the device Ilom
SUCCESS: 2016-01-06 16:24:40: Successfully updated the device BIOS
SUCCESS: 2016-01-06 16:24:40: Successfully updated the device OVM
INFO: Infrastructure patching summary on node: 192.168.XX.XX
SUCCESS: 2016-01-06 16:24:40: Successfully upgraded the HMP
SUCCESS: 2016-01-06 16:24:40: Successfully updated the OAK
SUCCESS: 2016-01-06 16:24:40: Successfully updated the JDK
SUCCESS: 2016-01-06 16:24:40: Successfully upgraded the OS
SUCCESS: 2016-01-06 16:24:40: Successfully updated the IPMI
INFO: 2016-01-06 16:24:40: Storage patching summary
SUCCESS: 2016-01-06 16:24:40: No failures found during Storage upgrade
SUCCESS: 2016-01-06 16:24:40: Successfully upgraded the HMP on Dom0
INFO: 2016-01-06 16:24:40: Local storage patching summary on Dom0
SUCCESS: 2016-01-06 16:24:40: Successfully upgraded the local storage
SUCCESS: 2016-01-06 16:24:40: Successfully updated the device Ilom
SUCCESS: 2016-01-06 16:24:40: Successfully updated the device BIOS
SUCCESS: 2016-01-06 16:24:40: Successfully updated the device OVM
INFO: Running post-install scripts
INFO: Running postpatch on node 1...
INFO: Running postpatch on node 0...
INFO: Dom0 Needs to be rebooted, will be rebooting the Dom0
(...)
[root@oda1 ~]# oakcli show version -detail
Reading the metadata. It takes a while...
System Version Component Name Installed Version Supported Version 
-------------- --------------- ------------------ ----------------- 
12.1.2.5.0 
               Controller_INT 11.05.03.00       Up-to-date 
               Controller_EXT 11.05.03.00       Up-to-date 
               Expander 0018                    Up-to-date 
               SSD_SHARED 944A                  Up-to-date 
               HDD_LOCAL A720                   Up-to-date 
               HDD_SHARED A720                  Up-to-date 
               ILOM 3.2.4.26.b r101722          Up-to-date 
               BIOS 17110500                    Up-to-date 
               IPMI 1.8.12.0                    Up-to-date 
               HMP 2.3.2.4.1                    Up-to-date 
               OAK 12.1.2.5.0                   Up-to-date 
               OL 5.11                          Up-to-date 
               OVM 3.2.9                        Up-to-date 
               GI_HOME 11.2.0.4.0(17721778)     12.1.0.2.5(21359755) 21359758) 
               DB_HOME 11.2.0.4.1(17478514)     11.2.0.4.8(21352635, 21352649)

The oakcli logfiles are in: /opt/oracle/oak/log/oda1/oak/oakd.log

Caveats

oakcli may get stuck for several reasons, for example, if it runs out of disk space during the upgrade. oakcli check for 10G free disk space in /u01 before cloning the Oracle Home. But an Oracle Home may be larger then 10G when, for example, some audit or log files are present.

If the update process is interrupted, the whole installation may be stuck and unrecoverable. A typical situation is:

[root@oda1 ~]# oakcli show version -detail 
Reading the metadata. It takes a while...
unclosed token at line 5367, column 6, byte 298999 at /usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/XML/Parser.pm line 187
root@oda1 ~]# oakcli show vm
OAKERR:6003 OAK is in upgrade Mode

While the VMs do not start any more.

The only solution Oracle Support found for this situation was:

  1. Remove excessive new Grid_Home on both the nodes that should not be there 
    1. rm -fr /u01/app/11.2.0.4
  2. Replace the central inventory (“/u01/app/oraInventory/ContentsXML/inventory.xml”) on both nodes from last backup, or execute on both nodes the following commands (change nodename1,nodename2 with your ODA host nodes name): 
    1. export NEW_GI_HOME=/u01/app/11.2.0.4/grid
    2. export ORACLE_HOME=$NEW_GI_HOME
    3. $OLD_HOME/oui/bin/runInstaller -detachHome -silent -local ORACLE_HOME=$NEW_GI_HOME
    4. export OLD_GI_HOME=/u01/app/11.2.0.3/grid
    5. export ORACLE_HOME=$OLD_GI_HOME
    6. $OLD_HOME/oui/bin/runInstaller -attachHome -silent -local ORACLE_HOME=$OLD_GI_HOME ORACLE_HOME_NAME=OraGrid11gR3 "CLUSTER_NODES=nodename1,nodename2" CRS=true
  3. Rerun update –GI command. 
    1. oakcli update –patch <patch_number> –gi