GI Release Update Rolling Patch apply Step by Step Tutorial

In this article, we are going to show the procedure to apply the January-2022 GI Release Update patch in the oracle 19c RAC environment.  Here, we briefly describe the GI RU patch apply step for both the Oracle 19c Grid Infrastructure home and Oracle 19c Database home that will be applied in a rolling fashion.

Patch Information: Patch 33509923 - GI Release Update 19.14.0.0.220118

Let’s see the step to apply GI Release Update in the oracle 19c grid and database home. 


Step 1: Patch Information

The Oracle Grid Infrastructure patches are cumulative and include the database CPU program security content. The latest RU patch will be applied in Grid home and all Oracle homes. Patch download details are as follows.


Step 2: OPatch Utility Information

You must use the OPatch utility version 12.2.0.1.28 or later to apply this patch. Oracle recommends that you use the latest released OPatch version for 12.2 which is available for download from My Oracle Support note 6880880 by selecting the ARU link for the 12.2.0.1.0 OPatch release.
 


Download the patch p6880880_122010_Linux-x86-64.zip

If grid and oracle opatch version is lower than 12.2.0.1.28 we must upgrade the opatch version following below steps.

Upgradation Opatch utility for the grid is as follows.

@ Check opatch version using the following command.
# cd $GRID_HOME/OPatch
# opatch version

@ Opatch version update steps

Take opatch backup and unzip the latest downloaded patch in the grid home location

# cd $GRID_HOME
# tar -pcvf Opatch_bkp.tar Opatch (backup the current opatch directory)
# unzip p6880880_122010_Linux-x86-64.zip -d $GRID_HOME

Note: Using root user perform both activities like opatch backup and unzip opatch in grid home after unzip opatch in grid home change the permission for opatch directory.

# cd $GRID_HOME
# chown -R grid:oinstall Opatch
# chmod -R 775 OPatch

@ Upgradation Opatch utility for oracle home:

# cd $ORACLE_HOME
# tar -pcvf OPatch_bkp.tar OPatch (backup the current opatch directory)
# chown oracle:oinstall p6880880_122010_Linux-x86-64.zip
# chmod 775 p6880880_122010_Linux-x86-64.zip
# unzip p6880880_122010_Linux-x86-64.zip -d $ORACLE_HOME

Step 3: Validation of Oracle Inventory

Before beginning patch application, check the consistency of inventory information for Grid home and each Oracle home to be patched. 

@ Run this command as the respective Oracle home owner to check the consistency: 
# su - oracle
# cd $ORACLE_HOME/Opatch
# ./opatch lsinventory -detail -oh $ORACLE_HOME

@ Run below command from grid 
# su – grid
# cd $ORACLE_HOME/Opatch
# ./opatch lsinventory -detail -oh $ORACLE_HOME

Step 4: Download and Unzip the Patch

Download the patch and unzip it to a shared location or locate in each node.
cd <UNZIPPED_PATCH_LOCATION>

Unzip the patch as the Grid home owner except for installations that do not have any Grid homes. For installations where this patch is applied to the Oracle home only, the patch must be unzipped as the Oracle home owner:

@ For Grid: 
# chown grid:oinstall p33509923_190000_Linux-x86-64.zip
# chmod 775 p33509923_190000_Linux-x86-64.zip
# unzip p33509923_190000_Linux-x86-64.zip

Step 5: Run OPatch Conflict Check

Determine whether any currently installed one-off patches conflict with this patch 33509923 as follows:

@As the Grid home user:

Here unzip patch location is: /backup/Patch_Jan_22

# cd $GRID_HOME/OPatch

# opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /backup/Patch_Jan_22/33509923/33515361

# opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /backup/Patch_Jan_22/33509923/33529556

# opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /backup/Patch_Jan_22/33509923/33534448

# opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /backup/Patch_Jan_22/33509923/33239955

# opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /backup/Patch_Jan_22/33509923/33575402

@ For Oracle home, as home user:

# cd $ORACLE_HOME/Opatch

# opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /backup/Patch_Jan_22/33509923/33515361

# opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /backup/Patch_Jan_22/33509923/33529556

Note: When OPatch starts, it validates the patch and ensures that there are no conflicts with the software already installed in the ORACLE_HOME.

Step 6: Run OPatch System Space Check

@ For Grid Infrastructure home, as home user:

a. Create file /tmp/patch_list_gihome.txt with the following content:
Our patch unzip location: /backup/Patch_Jan_22

# touch /tmp/patch_list_gihome.txt
# vi /tmp/patch_list_gihome.txt
/backup/Patch_Jan_22/33509923/33515361
/backup/Patch_Jan_22/33509923/33529556
/backup/Patch_Jan_22/33509923/33534448
/backup/Patch_Jan_22/33509923/33239955
/backup/Patch_Jan_22/33509923/33575402

b. Run the OPatch command to check if enough free space is available in the Grid Infrastructure home:

# cd $GRID_HOME/Opatch
# opatch prereq CheckSystemSpace -phBaseFile /tmp/patch_list_gihome.txt

@ For Oracle home, as home user:

a. Create file /tmp/patch_list_dbhome.txt with the following content:

# touch /tmp/patch_list_dbhome.txt
# vi /tmp/patch_list_dbhome.txt
 /backup/Patch_Jan_22/33509923/33515361
 /backup/Patch_Jan_22/33509923/33529556

b. Run OPatch command to check if enough free space is available in the Oracle home:

# cd $ORACL_HOME/Opatch

# opatch prereq CheckSystemSpace -phBaseFile /tmp/patch_list_dbhome.txt

The command output reports pass and fail messages as per the system space availability:

If OPatch reports Prereq "checkSystemSpace" failed., then cleanup the system space as the required amount of space is not available.
If OPatch reports Prereq "checkSystemSpace" passed., then no action is needed. Proceed with patch installation.

Step 7: One-off Patch Conflict Detection and Resolution

The following commands check for conflicts in both the 19c Grid home and the 19c DB homes.
 
• In case you are applying the patch, run this command:
 
# cd $GRID_HOME/OPatch/
# opatchauto apply /backup/Patch_Jan_22/33509923 -analyze

• In case you are rolling back the patch, run this command:

# cd $GRID_HOME/OPatch/
# opatchauto rollback /backup/Patch_Jan_22/33509923 -analyze

Step 8. Patch Installation Checks

The Cluster Verification Utility (CVU) command line interface (CLUVFY) may be used to verify the readiness of the Grid_Home to apply the patch.

Before applying the patch, the readiness of the Grid_Home can be verified by issuing the cluvfy stage -pre patch command from any one of the cluster nodes.

After applying the patch, the sanity of the patching operation can be verified by issuing the cluvfy stage -post patch command from any of the cluster nodes upon completion of the patch application process.

Step 9. Apply Patch using Opatchauto 

The OPatch utility has automated the patch application for the Oracle Grid Infrastructure (Grid) home and the Oracle RAC database homes. It operates by querying existing configurations and automating the steps required for patching each Oracle RAC database home of same version and the Grid home.

The utility must be executed by an operating system (OS) user with root privileges, and it must be executed on each node in the cluster if the Grid home or Oracle RAC database home is in non-shared storage.

Connect as root
Add the directory containing the OPatchAuto to the $PATH environment variable. 

For example:
# export PATH=$PATH:<GI_HOME>/OPatch

To patch the Grid home and all Oracle RAC database homes of the same version. Oracle RAC, where the Grid home and the Oracle homes are not shared and Oracle ACFS file system is not configured. 

As root user, execute the following command on each node of the cluster:

# cd $GRID_HOME/Opatch/
# opatchauto apply /backup/Patch_Jan_22/33509923

To roll back the patch from the Grid home and each Oracle RAC database home:

# opatchauto rollback /backup/Patch_Jan_22/33509923 


Step 10. Patch Post Installation Instructions

Any databases that have invalid objects after the execution of data patch should have utlrp.sql run to revalidate those objects.

Recompile invalid Objects

cd $ORACLE_HOME/rdbms/admin

# sqlplus /nolog

SQL> CONNECT / AS SYSDBA
SQL> @utlrp.sql

Check the DBA_REGISTRY_SQLPATCH

SET LINESIZE 500
SET PAGESIZE 1000
SET SERVEROUT ON
SET LONG 2000000
COLUMN action_time FORMAT A12
COLUMN action FORMAT A10
COLUMN patch_type FORMAT A10
COLUMN description FORMAT A32
COLUMN status FORMAT A10
COLUMN version FORMAT A10

Select TO_CHAR(action_time, 'YYYY-MM-DD') as Action_Date, PATCH_ID, PATCH_TYPE, ACTION, DESCRIPTION, SOURCE_VERSION, TARGET_VERSION from CDB_REGISTRY_SQLPATCH order by CON_ID, patch_id;


Output: 
ACTION_DAT   PATCH_ID PATCH_TYPE ACTION     SOURCE_VERSION   TARGET_VERSION
---------- ---------- ---------- ---------- --------------- ---------------
2022-03-08          29517242       RU                    APPLY                19.1.0.0.0  19.3.0.0.0
2022-03-16          33515361       RU                    APPLY                19.3.0.0.0      19.14.0.0.0


Post a Comment

0 Comments

3