23ai, Zero-Downtime Oracle Grid Infrastructure Patching using Release Update with Silent Install

My two last posts (about the GI update) used the GOLD IMAGE (link post#1, and post#2), where we basically deploy a patched image of the desired version. But this is different when we use the Release Update patch. Below I will describe how to do this, covering all the steps, using the silent install (easily adapted for automation), and with Zero-Downtime Oracle Grid Infrastructure Patching – ZDOGIP (that can easily bypassed if you want).

Again, important details

The same important detail as my last post, here, the focus is to show how to do the patch using ZDOGIP with the RU version (instead of GOLD IMAGE). I will not “prove” (like previously) that databases continue to receive inserts or details about the AFD/ACFS drivers not being updated. I really recommend that you read my previous post to understand all of these details.

Current Environment

The running system is:

  • OEL 8.9 Kernel 5.4.17-2136.324.5.3.el8uek.x86_64.
  • Oracle GI 23ai, version 23.5.0.24.07 with no one-off or patches installed.
  • Oracle Database 23ai (23.5.0.24.07) and 19c (19.23.0.0.0).
  • Nodes are not using Transparent HugePages.
  • It is a RAC installation, with two nodes.

Release Update

The used version is the Patch 37031054: GI RELEASE UPDATE 23.6.0.24.10. The file size is 2.8GB. If we compare with the GOLD IMAGE (patch number is 37037934), size 984MB, we can notice the difference. Below you will spot the patch process differences.

Preparing for the patch

Creating the folders

Since the process is Out of Place patch, the first step is to create the new Oracle Home for the GI in both/all nodes of your RAC:

######################################
#
#Node 01
#
######################################
[root@o23c1n1s1 ~]# mkdir -p /u01/app/23.6.0.0/grid
[root@o23c1n1s1 ~]# chown grid:oinstall /u01/app/23.6.0.0/grid
[root@o23c1n1s1 ~]#
######################################
#
#Node 02
#
######################################
[root@o23c1n2s1 ~]#  mkdir -p /u01/app/23.6.0.0/grid
[root@o23c1n2s1 ~]#  chown grid:oinstall /u01/app/23.6.0.0/grid
[root@o23c1n2s1 ~]#

Unzip the base release

As you know, the RU is applied over one base release. For example, in 19c you unzip the 19.3, and after the apply over it the  RU. Here, the process is the same. So, we need a 23.4 or 23.5 base version and unzip it over the folder that we created (executed at first node with grid user):

[grid@o23c1n1s1 ~]$ cd /u01/app/23.6.0.0/grid/
[grid@o23c1n1s1 grid]$ unzip -q /u01/install/GI/V1043786-01.zip
[grid@o23c1n1s1 grid]$

After, we unzip the last version of OPatch, to override the current one (this is a requirement by the way):

[grid@o23c1n1s1 grid]$ unzip -q /u01/install/p6880880_230000_Linux-x86-64.zip
replace OPatch/opatchauto? [y]es, [n]o, [A]ll, [N]one, [r]ename: A
[grid@o23c1n1s1 grid]$ cd
[grid@o23c1n1s1 ~]$

Unzip the RU

The next is in a dedicated folder, we unzip the RU. We do this in the first node one, with grid user:

[grid@o23c1n1s1 ~]$ cd /u01/install/
[grid@o23c1n1s1 install]$ cd GI/
[grid@o23c1n1s1 GI]$ unzip -q p37031054_230000_Linux-x86-64.zip
[grid@o23c1n1s1 GI]$ ls -l
total 4000996
drwxr-x--- 8 grid oinstall        159 Oct 22 14:45 37031054
-rw-r--r-- 1 grid oinstall 3056427650 Oct 26 17:54 p37031054_230000_Linux-x86-64.zip
-rw-rw-r-- 1 grid oinstall       2508 Oct 22 19:10 PatchSearch.xml
-rw-r--r-- 1 grid oinstall 1040582696 Jul 23 18:59 V1043786-01.zip
[grid@o23c1n1s1 GI]$

ZDOGIP with RU in Silent mode

Since we have the files unzipped (base release, and RU), we can start the process. Now, it follows (almost) the same as the GOLD IMAGE.

Step 01 – Installing the software

Since we are using the silent installation, creating one response file is needed. The content of the response file is simple, and the most important definitions are:

  • installOption: Needs to be CRS_SWONLY
  • executeRootScript: We will call the root script after the installation (you can specify sudo and use it if you want, additional parameters are needed)
  • OSDBA, OSOPER, OSASM: define the current O.S. users for the GI installation. You can check the current one in this file: CURRENT_GI_HOME/rdbms/lib/config.c (/u01/app/23.5.0.0/grid/rdbms/lib/config.c in my case).

Below you can see my response file, please remember to adapt the Oracle Base folder, the nodes of your cluster, and any other parameters that you use (like scan type, or GNS):

[grid@o23c1n1s1 ~]$ cat /u01/install/grid-crs.rsp
oracle.install.responseFileVersion=/oracle/install/rspfmt_crsinstall_response_schema_v23.0.0
INVENTORY_LOCATION=/u01/app/oraInventory
installOption=CRS_SWONLY
ORACLE_BASE=/u01/app/grid
clusterUsage=RAC
OSDBA=asmdba
OSOPER=asmoper
OSASM=asmadmin
scanType=LOCAL_SCAN
configureGNS=false
configureDHCPAssignedVIPs=false
clusterNodes=o23c1n1s1.oralocal,o23c1n2s1.oralocal
useIPMI=false
managementOption=NONE
executeRootScript=false
enableAutoFixup=false
[grid@o23c1n1s1 ~]$

With the response file created, we can do the first step of the installation, calling the gridSetup.sh. Important is that we need to call it using the “-applyRU” to specify where the RU was unzipped. Basically, the process will first apply the RU over the base release, and after continuing the installation (below ignore the case for swap, which is a limitation of my system):

[grid@o23c1n1s1 ~]$ /u01/app/23.6.0.0/grid/gridSetup.sh -waitforcompletion -silent -responseFile /u01/install/grid-crs.rsp -applyRU /u01/install/GI/37031054
[INFO] [INS-32830] Options -applyRU, -applyPSU and -applyRUR are deprecated in this release. For more details, refer to help documentation.

Preparing the home to patch...
Applying the patch /u01/install/GI/37031054...
Successfully applied the patch.
The log can be found at: /u01/app/oraInventory/logs/GridSetupActions2024-11-08_10-43-20PM/installerPatchActions_2024-11-08_10-43-20PM.log
Launching Oracle Grid Infrastructure Setup Wizard...

*********************************************
Swap Size: This is a prerequisite condition to test whether sufficient total swap space is available on the system.
Severity: IGNORABLE
Overall status: VERIFICATION_FAILED
Error message: PRVF-7573 : Sufficient swap size is not available on node "o23c1n2s1" [Required = 11.6753GB (1.224248E7KB) ; Found = 3.9648GB (4157436.0KB)]
Cause:  The swap size found does not meet the minimum requirement.
Action:  Increase swap size to at least meet the minimum swap space requirement.
-----------------------------------------------
Error message: PRVF-7573 : Sufficient swap size is not available on node "o23c1n1s1" [Required = 11.6754GB (1.2242492E7KB) ; Found = 3.9648GB (4157436.0KB)]
Cause:  The swap size found does not meet the minimum requirement.
Action:  Increase swap size to at least meet the minimum swap space requirement.
-----------------------------------------------
[WARNING] [INS-13014] Target environment does not meet some optional requirements.
   CAUSE: Some of the optional prerequisites are not met. See logs for details. /u01/app/oraInventory/logs/GridSetupActions2024-11-08_10-43-20PM/gridSetupActions2024-11-08_10-43-20PM.log.
   ACTION: Identify the list of failed prerequisite checks from the log: /u01/app/oraInventory/logs/GridSetupActions2024-11-08_10-43-20PM/gridSetupActions2024-11-08_10-43-20PM.log. Then either from the log file or from installation manual find the appropriate configuration to meet the prerequisites and fix it manually.
The response file for this session can be found at:
 /u01/app/23.6.0.0/grid/install/response/grid_2024-11-08_10-43-20PM.rsp

You can find the log of this install session at:
 /u01/app/oraInventory/logs/GridSetupActions2024-11-08_10-43-20PM/gridSetupActions2024-11-08_10-43-20PM.log

As a root user, run the following script(s):
        1. /u01/app/23.6.0.0/grid/root.sh

Run /u01/app/23.6.0.0/grid/root.sh on the following nodes:
[o23c1n1s1, o23c1n2s1]


Successfully Setup Software with warning(s).
[grid@o23c1n1s1 ~]$

Above, you can see that it tells you that “[INFO] [INS-32830] Options -applyRU, -applyPSU and -applyRUR are deprecated in this release. For more details, refer to help documentation.”, the documentation we can notice that it still referenced as a method to be used (Applying Patches During an Oracle Grid Infrastructure Installation or Upgrade). One reference that was found was this (Downloading Release Update Patches):

Note:The use of OPatch and OPatchAuto for out-of-place patching continues to be deprecated.For patching in Oracle Database 23ai, Oracle recommends that you use out-of-place patching using Gold images to apply quarterly release updates (RUs). This deprecation does not affect in-place patching. If you want to perform in-place patching, then OPatch and OPatchAuto continue to be available for this purpose. The Oracle Database 23ai Free release is not supported for patching with RUs.”.

Besides that, the installation was fine and we can call the root.sh script in both nodes:

######################################
#
#Node 01
#
######################################
[root@o23c1n1s1 ~]# /u01/app/23.6.0.0/grid/root.sh
Check /u01/app/23.6.0.0/grid/install/root_o23c1n1s1.oralocal_2024-11-08_23-00-34-854762910.log for the output of root script
[root@o23c1n1s1 ~]# cat /u01/app/23.6.0.0/grid/install/root_o23c1n1s1.oralocal_2024-11-08_23-00-34-854762910.log
Performing root user operation.

The following environment variables are set as:
    ORACLE_OWNER= grid
    ORACLE_HOME=  /u01/app/23.6.0.0/grid
   Copying dbhome to /usr/local/bin ...
   Copying oraenv to /usr/local/bin ...
   Copying coraenv to /usr/local/bin ...

Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.

To configure Grid Infrastructure for a Cluster execute the following command as grid user:
/u01/app/23.6.0.0/grid/gridSetup.sh
This command launches the Grid Infrastructure Setup Wizard. The wizard also supports silent operation, and the parameters can be passed through the response file that is available in the installation media.

[root@o23c1n1s1 ~]#

######################################
#
#Node 02
#
######################################
[root@o23c1n2s1 ~]# /u01/app/23.6.0.0/grid/root.sh
Check /u01/app/23.6.0.0/grid/install/root_o23c1n2s1.oralocal_2024-11-08_23-00-53-763566156.log for the output of root script
[root@o23c1n2s1 ~]# cat /u01/app/23.6.0.0/grid/install/root_o23c1n2s1.oralocal_2024-11-08_23-00-53-763566156.log
Performing root user operation.

The following environment variables are set as:
    ORACLE_OWNER= grid
    ORACLE_HOME=  /u01/app/23.6.0.0/grid
   Copying dbhome to /usr/local/bin ...
   Copying oraenv to /usr/local/bin ...
   Copying coraenv to /usr/local/bin ...

Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.

To configure Grid Infrastructure for a Cluster execute the following command as grid user:
/u01/app/23.6.0.0/grid/gridSetup.sh
This command launches the Grid Infrastructure Setup Wizard. The wizard also supports silent operation, and the parameters can be passed through the response file that is available in the installation media.

[root@o23c1n2s1 ~]#

Above you can see that was called the CRS_ONLY for the first step. Different from the 19c, from now with 23ai (maybe Oracle change that in the future) it is impossible to install + patch + switchOH (with ZDOGIP) with only one call. If we do this, we receive the error saying “[INS-45110] The zero downtime option is not allowed when the source and target homes are on the same patch level”. This is OK because the the base relase+RU has the same patch level as the current one (since it was not installed yet):

[root@o23c1n1s1 ~]# /u01/app/23.5.0.0/grid/bin/crsctl query crs activeversion -f
Oracle Clusterware active version on the cluster is [23.0.0.0.0]. The cluster upgrade state is [NORMAL]. The cluster active patch level is [0].
[root@o23c1n1s1 ~]#

Step 02 – ZDOGIP and Home Switch

From now the process is the same as using GOLD IMAGE. We call the gridSetup.sh again, and after the root script (ad this one will the switch of the GI home). With the silent mode we need, in this step, we have some special/required parameters compared with the previous one:

  • installOption: Needs to be specified as PATCH
  • zeroDowntimeGIPatching: This needs to be defined as true since we are doing ZDOGIP. If you don’t want to use ZDOGIP, just change the zeroDowntimeGIPatching to false.
  • skipDriverUpdate: If not defined as false, it will stop your databases. So, to have zero downtime, we define it as true. Doing that will not update your ACFS/AFD drivers

So, my response file for this step is:

[grid@o23c1n1s1 ~]$ cat /u01/install/grid-patch.rsp
oracle.install.responseFileVersion=/oracle/install/rspfmt_crsinstall_response_schema_v23.0.0
INVENTORY_LOCATION=/u01/app/oraInventory
installOption=PATCH
ORACLE_BASE=/u01/app/grid
clusterUsage=RAC
OSDBA=asmdba
OSOPER=asmoper
OSASM=asmadmin
scanType=LOCAL_SCAN
configureGNS=false
configureDHCPAssignedVIPs=false
clusterNodes=o23c1n1s1.oralocal,o23c1n2s1.oralocal
useIPMI=false
managementOption=NONE
executeRootScript=false
enableAutoFixup=false
zeroDowntimeGIPatching=true
skipDriverUpdate=true
[grid@o23c1n1s1 ~]$

And we call the gridSetup.sh like this (at first node, with grid user):

[grid@o23c1n1s1 ~]$ /u01/app/23.6.0.0/grid/gridSetup.sh -waitforcompletion -silent -responseFile /u01/install/grid-patch.rsp
Launching Oracle Grid Infrastructure Setup Wizard...


As a root user, run the following script(s):
        1. /u01/app/23.6.0.0/grid/root.sh

Run /u01/app/23.6.0.0/grid/root.sh on the following nodes:
[o23c1n1s1, o23c1n2s1]

Run the scripts on the local node first. After successful completion, run the scripts in sequence on all other nodes.

Successfully Setup Software.
[grid@o23c1n1s1 ~]$

Before calling the root.sh script, look at the processes that are running on my system (please check the time for each process):

[grid@o23c1n1s1 ~]$ ps -ef |grep smon
root        4627       1  0 22:05 ?        00:00:24 /u01/app/23.5.0.0/grid/bin/osysmond.bin
grid        5961       1  0 22:06 ?        00:00:00 asm_smon_+ASM1
oracle     66353       1  0 22:56 ?        00:00:00 ora_smon_o19c1
grid       67846   32417  0 22:58 pts/0    00:00:00 grep --color=auto smon
[grid@o23c1n1s1 ~]$
[grid@o23c1n1s1 ~]$ ps -ef |grep lsnr
root        4680    4666  0 22:05 ?        00:00:00 /u01/app/23.5.0.0/grid/bin/crfelsnr -n o23c1n1s1
grid        5364       1  0 22:05 ?        00:00:00 /u01/app/23.5.0.0/grid/bin/tnslsnr LISTENER -no_crs_notify -inherit
grid        5452       1  0 22:05 ?        00:00:00 /u01/app/23.5.0.0/grid/bin/tnslsnr LISTENER_SCAN3 -no_crs_notify -inherit
grid        5468       1  0 22:06 ?        00:00:00 /u01/app/23.5.0.0/grid/bin/tnslsnr ASMNET1LSNR_ASM -no_crs_notify -inherit
grid       67904   32417  0 22:58 pts/0    00:00:00 grep --color=auto lsnr
[grid@o23c1n1s1 ~]$

And now calling the root.sh in all nodes of the cluster:

######################################
#
#Node 01
#
######################################

[root@o23c1n1s1 ~]# /u01/app/23.6.0.0/grid/root.sh
Check /u01/app/23.6.0.0/grid/install/root_o23c1n1s1.oralocal_2024-11-08_23-04-46-783758238.log for the output of root script
[root@o23c1n1s1 ~]# cat /u01/app/23.6.0.0/grid/install/root_o23c1n1s1.oralocal_2024-11-08_23-04-46-783758238.log
Performing root user operation.

The following environment variables are set as:
    ORACLE_OWNER= grid
    ORACLE_HOME=  /u01/app/23.6.0.0/grid
   Copying dbhome to /usr/local/bin ...
   Copying oraenv to /usr/local/bin ...
   Copying coraenv to /usr/local/bin ...

Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
RAC option enabled on: Linux
Executing command '/u01/app/23.6.0.0/grid/perl/bin/perl -I/u01/app/23.6.0.0/grid/perl/lib -I/u01/app/23.6.0.0/grid/crs/install /u01/app/23.6.0.0/grid/crs/install/rootcrs.pl  -dstcrshome /u01/app/23.6.0.0/grid -transparent -nodriverupdate -prepatch'
Using configuration parameter file: /u01/app/23.6.0.0/grid/crs/install/crsconfig_params
The log of current session can be found at:
  /u01/app/grid/crsdata/o23c1n1s1/crsconfig/crs_prepatch_apply_oop_o23c1n1s1_2024-11-08_11-04-47PM.log

 Performing following verification checks ...

   cluster upgrade state ...PASSED
   OLR Integrity ...PASSED
   Hosts File ...PASSED
   Free Space: o23c1n1s1:/ ...PASSED
   Software home: /u01/app/23.5.0.0/grid ...PASSED

 Pre-check for Patch Application was successful.

 CVU operation performed:      stage -pre patch
 Date:                         Nov 8, 2024, 11:05:10 PM
 CVU version:                  23.5.0.24.7 (070324x8664)
 Clusterware version:          23.0.0.0.0
 CVU home:                     /u01/app/23.5.0.0/grid
 Grid home:                    /u01/app/23.5.0.0/grid
 User:                         grid
 Operating system:             Linux5.4.17-2136.324.5.3.el8uek.x86_64

2024/11/08 23:05:33 CLSRSC-671: Pre-patch steps for patching GI home successfully completed.
Executing command '/u01/app/23.6.0.0/grid/perl/bin/perl -I/u01/app/23.6.0.0/grid/perl/lib -I/u01/app/23.6.0.0/grid/crs/install /u01/app/23.6.0.0/grid/crs/install/rootcrs.pl  -dstcrshome /u01/app/23.6.0.0/grid -transparent -nodriverupdate -postpatch'
Using configuration parameter file: /u01/app/23.6.0.0/grid/crs/install/crsconfig_params
The log of current session can be found at:
  /u01/app/grid/crsdata/o23c1n1s1/crsconfig/crs_postpatch_apply_oop_o23c1n1s1_2024-11-08_11-05-34PM.log
2024/11/08 23:06:16 CLSRSC-329: Replacing Clusterware entries in file 'oracle-ohasd_dummy.service'
2024/11/08 23:06:47 CLSRSC-329: Replacing Clusterware entries in file 'oracle-ohasd.service'
2024/11/08 23:07:41 CLSRSC-4015: Performing install or upgrade action for Oracle Autonomous Health Framework (AHF).
2024/11/08 23:07:41 CLSRSC-4012: Shutting down Oracle Autonomous Health Framework (AHF).
2024/11/08 23:08:49 CLSRSC-4013: Successfully shut down Oracle Autonomous Health Framework (AHF).
2024/11/08 23:08:54 CLSRSC-672: Post-patch steps for patching GI home successfully completed.
2024/11/08 23:09:31 CLSRSC-4003: Successfully patched Oracle Autonomous Health Framework (AHF).
[root@o23c1n1s1 ~]#

######################################
#
#Node 02
#
######################################
[root@o23c1n2s1 ~]# /u01/app/23.6.0.0/grid/root.sh
Check /u01/app/23.6.0.0/grid/install/root_o23c1n2s1.oralocal_2024-11-08_23-10-33-898067026.log for the output of root script
[root@o23c1n2s1 ~]# cat /u01/app/23.6.0.0/grid/install/root_o23c1n2s1.oralocal_2024-11-08_23-10-33-898067026.log
Performing root user operation.

The following environment variables are set as:
    ORACLE_OWNER= grid
    ORACLE_HOME=  /u01/app/23.6.0.0/grid
   Copying dbhome to /usr/local/bin ...
   Copying oraenv to /usr/local/bin ...
   Copying coraenv to /usr/local/bin ...

Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
RAC option enabled on: Linux
Executing command '/u01/app/23.6.0.0/grid/perl/bin/perl -I/u01/app/23.6.0.0/grid/perl/lib -I/u01/app/23.6.0.0/grid/crs/install /u01/app/23.6.0.0/grid/crs/install/rootcrs.pl  -dstcrshome /u01/app/23.6.0.0/grid -transparent -nodriverupdate -prepatch'
Using configuration parameter file: /u01/app/23.6.0.0/grid/crs/install/crsconfig_params
The log of current session can be found at:
  /u01/app/grid/crsdata/o23c1n2s1/crsconfig/crs_prepatch_apply_oop_o23c1n2s1_2024-11-08_11-10-35PM.log

 Performing following verification checks ...

   cluster upgrade state ...PASSED
   OLR Integrity ...PASSED
   Hosts File ...PASSED
   Free Space: o23c1n2s1:/ ...PASSED
   Software home: /u01/app/23.5.0.0/grid ...PASSED

 Pre-check for Patch Application was successful.

 CVU operation performed:      stage -pre patch
 Date:                         Nov 8, 2024, 11:10:57 PM
 CVU version:                  23.5.0.24.7 (070324x8664)
 Clusterware version:          23.0.0.0.0
 CVU home:                     /u01/app/23.5.0.0/grid
 Grid home:                    /u01/app/23.5.0.0/grid
 User:                         grid
 Operating system:             Linux5.4.17-2136.324.5.3.el8uek.x86_64

2024/11/08 23:11:14 CLSRSC-671: Pre-patch steps for patching GI home successfully completed.
Executing command '/u01/app/23.6.0.0/grid/perl/bin/perl -I/u01/app/23.6.0.0/grid/perl/lib -I/u01/app/23.6.0.0/grid/crs/install /u01/app/23.6.0.0/grid/crs/install/rootcrs.pl  -dstcrshome /u01/app/23.6.0.0/grid -transparent -nodriverupdate -postpatch'
Using configuration parameter file: /u01/app/23.6.0.0/grid/crs/install/crsconfig_params
The log of current session can be found at:
  /u01/app/grid/crsdata/o23c1n2s1/crsconfig/crs_postpatch_apply_oop_o23c1n2s1_2024-11-08_11-11-15PM.log
2024/11/08 23:11:55 CLSRSC-329: Replacing Clusterware entries in file 'oracle-ohasd_dummy.service'
2024/11/08 23:12:24 CLSRSC-329: Replacing Clusterware entries in file 'oracle-ohasd.service'
2024/11/08 23:13:17 CLSRSC-4015: Performing install or upgrade action for Oracle Autonomous Health Framework (AHF).
2024/11/08 23:13:17 CLSRSC-4012: Shutting down Oracle Autonomous Health Framework (AHF).
2024/11/08 23:14:11 CLSRSC-4013: Successfully shut down Oracle Autonomous Health Framework (AHF).

 Initializing ...

 Performing following verification checks ...

   cluster upgrade state ...PASSED

 Post-check for Patch Application was successful.

 CVU operation performed:      stage -post patch
 Date:                         Nov 8, 2024, 11:14:27 PM
 CVU version:                  23.6.0.24.10 (100824x8664)
 Clusterware version:          23.0.0.0.0
 CVU home:                     /u01/app/23.6.0.0/grid
 Grid home:                    /u01/app/23.6.0.0/grid
 User:                         grid
 Operating system:             Linux5.4.17-2136.324.5.3.el8uek.x86_64

2024/11/08 23:15:05 CLSRSC-672: Post-patch steps for patching GI home successfully completed.
2024/11/08 23:15:21 CLSRSC-4003: Successfully patched Oracle Autonomous Health Framework (AHF).
[root@o23c1n2s1 ~]#

And if we look, after the patch, the processes that we checked before are (now):

[root@o23c1n1s1 ~]# ps -ef |grep smon
oracle     66353       1  0 22:56 ?        00:00:00 ora_smon_o19c1
root       81536       1  0 23:07 ?        00:00:05 /u01/app/23.6.0.0/grid/bin/osysmond.bin
grid       82591       1  0 23:07 ?        00:00:00 asm_smon_+ASM1
root      106184   74472  0 23:16 pts/2    00:00:00 grep --color=auto smon
[root@o23c1n1s1 ~]#
[root@o23c1n1s1 ~]# ps -ef |grep lsnr
root       81655   81619  0 23:07 ?        00:00:00 /u01/app/23.6.0.0/grid/bin/crfelsnr -n o23c1n1s1
grid       82248       1  0 23:07 ?        00:00:00 /u01/app/23.6.0.0/grid/bin/tnslsnr LISTENER -no_crs_notify -inherit
grid       82326       1  0 23:07 ?        00:00:00 /u01/app/23.6.0.0/grid/bin/tnslsnr ASMNET1LSNR_ASM -no_crs_notify -inherit
grid       91319       1  0 23:12 ?        00:00:00 /u01/app/23.6.0.0/grid/bin/tnslsnr LISTENER_SCAN1 -no_crs_notify -inherit
grid       91330       1  0 23:12 ?        00:00:00 /u01/app/23.6.0.0/grid/bin/tnslsnr LISTENER_SCAN2 -no_crs_notify -inherit
root      106354   74472  0 23:16 pts/2    00:00:00 grep --color=auto lsnr
[root@o23c1n1s1 ~]#

Look above that databases continue to run while all the GI stack restarted (ASM and listener). And, at the end of the process, we have this:

[grid@o23c1n1s1 ~]$ /u01/app/23.6.0.0/grid/OPatch/opatch lspatches
37110283;MICRONAUT RELEASE UPDATE 23.6.0.24.10 (37110283)
37037093;RHP RELEASE UPDATE 23.6.0.24.10 (37037093)
37037090;OCW RELEASE UPDATE 23.6.0.24.10 (37037090)
37037086;Database Release Update : 23.6.0.24.10 (37037086)
37037083;ACFS RELEASE UPDATE 23.6.0.24.10 (37037083)

OPatch succeeded.
[grid@o23c1n1s1 ~]$

And compare with the GOLG IMAGE:

[grid@o23c1n1s2 ~]$ /u01/app/23.6.0.0/grid/OPatch/opatch lspatches
37110283;MICRONAUT RELEASE UPDATE 23.6.0.24.10 (37110283) Gold Image
37037093;RHP RELEASE UPDATE 23.6.0.24.10 (37037093) Gold Image
37037083;ACFS RELEASE UPDATE 23.6.0.24.10 (37037083) Gold Image
37037090;OCW RELEASE UPDATE 23.6.0.24.10 (37037090) Gold Image
37037086;Database Release Update : 23.6.0.24.10 (37037086) Gold Image

OPatch succeeded.
[grid@o23c1n1s2 ~]$

As you can see, they are the same patch numbers, exactly the same. Just the process changed.

Conclusion

Patching the GI using the Release Update, RU, is a simple process. But we need to have more space to process the task. It will be the size for the base releases + the RU (around 2.8GB), while the GOLD IMAGE is just 980MB available to be installed right after unzipping it.

So, comparing the two processes we can notice the difference, we can use it but in my opinion, the GOLD IMAGE is worth it. The only point is that 23ai is starting now, so, maybe in the future Oracle can change the way and start to make the two versions (RU and GOLD IMAGE) difference between them.

 

Disclaimer: “The postings on this site are my own and don’t necessarily represent my actual employer positions, strategies, or opinions. The information here was edited to be useful for general purposes, and specific data and identifications were removed to allow reach the generic audience and to be useful for the community. Post protected by copyright.

Leave a Reply

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