Installing the Latest Oracle 19c Update Patches – Opatch/OJVM/GI/DB/JDK on Oracle 19c Standby on Linux

In this part of the series, we will install the latest available Oracle 19c Update Patches on the Standby Database. This is the sixth part of a 7-part series that includes:


Part 1. Upgrade Oracle Grid Infrastructure on the RAC Cluster from 18c to 19c


Part 2. Upgrading the Oracle Grid Infrastructure on the Physical Standby from 18c to 19c


Part 3. Upgrade Oracle RAC Database from 18c to 19c


Part 4. Upgrade Oracle Physical Standby Database from 18c to 19c


Part 5. Installing the Latest Oracle 19c Update Patches – Opatch/OJVM/GI/DB/JDK on Oracle 19c RAC on Linux


Part 6. Upgrade Oracle Grid Infrastructure on the RAC Cluster from 18c to 19c


Part 7. Updating the Database’s COMPATIBLE parameter and ASM Diskgroups’ COMPATIBLE.ASM and COMPATIBLE.RDBMS to 19.0.0.0



For the purpose of this guide, note the following:


-To make following this guide easier, put all your downloaded software in /usr/software/oracle.

-GI stands for Grid Infrastructure, also known as Oracle Restart for Standalone Databases.

-DB stands for Database.

-DB Home owner is Linux OS user “oracle”.

-OS Version: Oracle Linux Server release 7.5

-Source GI/DB Version: 18.14.0.0

-Target GI/DB Version: 19.3.0.0

-Source 18c DB Home: /oracle/oraBase/oracle/18.0.0/database.

-Target 19c DB Home: /oracle/oraBase/oracle/19.0.0/database.

-GI Home owner is Linux OS user “grid”.

-Source 18c GI Home: /oracle/oraBase/18.0.0/grid.

-Target 19c GI Home: /oracle/oraBase/19.0.0/grid.

-DG stands for Data Guard.

-ALWAYS make a backup of the database and the oracle software before you start.


Primary RAC DB Name: PROD

RAC Node 1: rac1

SID: PROD1

RAC Node 2: rac2

SID: PROD2

Standby DB Name: PRODDR

Physical Standby Node: stdby1

SID: PRODDR1


1. Prerequisites and Preparations


1.1 Download the following software:


-The latest OPatch from Oracle Support

-The latest 19c Update Patches

-The latest JDK for GI and DB Homes


Note: The JDK is for GI and DB Homes, not to be confused with the JDK that is installed directly on the OS. That is not covered here.


1.2 As oracle user, unzip the OJVM/GI/DB PSU and the JDK Patch.


$ cd /usr/software/oracle
$ unzip -oq p36209493_190000_Linux-x86-64.zip
$ unzip -oq p36195566_190000_Linux-x86-64.zip

$ ls -l
drwxr-xr-x 4 oracle oinstall       4096 Mar 25 01:10 36195566 <-- JDK
drwxrwxrwx 4 oracle oinstall       4096 Apr 16 03:29 36209493 <-- OJMV Combo (OJVM, GI, DB)

$ ls -l 36209493
drwxr-xr-x 4 oracle oinstall  4096 Mar 12 17:07 36199232 <-- OJVM RU
drwxr-x--- 8 oracle oinstall  4096 Apr 12 03:03 36233126 <-- GI/DB RU

1.3 As root user, give access permissions to both oracle and grid users.


# chmod -R 775 /usr/software/oracle/36195566
# chmod -R 775 /usr/software/oracle/36209493
# chmod 777 $(find /usr/software/oracle/36195566 -type d)
# chmod 777 $(find /usr/software/oracle/36209493 -type d)

1.4 Verify your /tmp is executable. If necessary, remount it as executable.


# mount|grep "/tmp"
/dev/mapper/rootvg-tmplv on /tmp type ext4 (rw,relatime,data=ordered)

# mount -o remount,exec /tmp

Alternatively, you can also specify tmp to be elsewhere.


Here’s an example of using a non-default temp location for GI/DB Home when executing the patches as root user.


# mkdir -p /home/grid/tmp
# chown grid.oinstall /home/grid/tmp
# chmod 777 /home/grid/tmp
# export TMP=/home/grid/tmp
# export TMPDIR=/home/grid/tmp

2. Install the latest OPatch in DB Home as user oracle.


2.1 Backup the old OPatch.


$ $ORACLE_HOME/OPatch/opatch version
OPatch Version: 12.2.0.1.17

OPatch succeeded.

$ mv $ORACLE_HOME/OPatch $ORACLE_HOME/OPatch.12.2.0.1.17

2.2 Unzip the OPatch into DB Home.


$ unzip -oq /usr/software/oracle/p6880880_230000_Linux-x86-64.zip -d $ORACLE_HOME

$ ls -ld $ORACLE_HOME/OPatch*
drwxr-x--- 14 oracle oinstall 4096 Apr 15 03:43 /oracle/oraBase/oracle/19.0.0/database/OPatch
drwxr-x--- 14 oracle oinstall 4096 Jun 18 12:10 /oracle/oraBase/oracle/19.0.0/database/OPatch.12.2.0.1.17

2.3 Check the new OPatch version.


$ $ORACLE_HOME/OPatch/opatch version
OPatch Version: 12.2.0.1.42

OPatch succeeded.

2.4 Check current patches in the DB Home.


$ opatch lsinventory|grep -A3 "^Patch.*applied"
Patch  29585399     : applied on Thu Apr 18 00:21:33 PDT 2019
Unique Patch ID:  22840393
Patch description:  "OCW RELEASE UPDATE 19.3.0.0.0 (29585399)"
   Created on 9 Apr 2019, 19:12:47 hrs PST8PDT
--
Patch  29517242     : applied on Thu Apr 18 00:21:17 PDT 2019
Unique Patch ID:  22862832
Patch description:  "Database Release Update : 19.3.0.0.190416 (29517242)"
   Created on 17 Apr 2019, 23:27:10 hrs PST8PDT

2.5 Check current JDK version in DB Home.


$ $ORACLE_HOME/jdk/bin/java -version
java version "1.8.0_201"
Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)

3. Install the latest OPatch in GI Home as user grid.


3.1 Make sure grid home is owned by grid. As root, run


# chown grid.oinstall /oracle/oraBase/19.0.0/grid

3.2 Backup the old OPatch.


$ opatch version
OPatch Version: 12.2.0.1.17

$ mv /oracle/oraBase/19.0.0/grid/OPatch /oracle/oraBase/19.0.0/grid/OPatch.12.2.0.1.17

3.3 Unzip the latest OPatch into GI Home.


$ unzip -oq /usr/software/oracle/patches/p6880880_230000_Linux-x86-64.zip -d /oracle/oraBase/19.0.0/grid/

$ ls -ld /oracle/oraBase/19.0.0/grid/OPatch*
drwxr-x--- 14 grid oinstall 4096 Apr 15 03:43 /oracle/oraBase/19.0.0/grid/OPatch
drwxr-x--- 14 grid oinstall 4096 Jun 17 17:10 /oracle/oraBase/19.0.0/grid/OPatch.12.2.0.1.17

3.4 Check the OPatch version.


$ $ORACLE_HOME/OPatch/opatch version
OPatch Version: 12.2.0.1.42

OPatch succeeded.

3.5 Check current patches in the GI Home.


$ $ORACLE_HOME/OPatch/opatch lsinv|grep -A3 "^Patch.*applied"
Patch  29585399     : applied on Thu Apr 18 00:36:24 PDT 2019
Unique Patch ID:  22840393
Patch description:  "OCW RELEASE UPDATE 19.3.0.0.0 (29585399)"
   Created on 9 Apr 2019, 19:12:47 hrs PST8PDT
--
Patch  29517247     : applied on Thu Apr 18 00:36:02 PDT 2019
Unique Patch ID:  22840392
Patch description:  "ACFS RELEASE UPDATE 19.3.0.0.0 (29517247)"
   Created on 1 Apr 2019, 15:08:20 hrs PST8PDT
--
Patch  29517242     : applied on Thu Apr 18 00:35:39 PDT 2019
Unique Patch ID:  22862832
Patch description:  "Database Release Update : 19.3.0.0.190416 (29517242)"
   Created on 17 Apr 2019, 23:27:10 hrs PST8PDT
--
Patch  29401763     : applied on Thu Apr 18 00:35:16 PDT 2019
Unique Patch ID:  22759421
Patch description:  "TOMCAT RELEASE UPDATE 19.0.0.0.0 (29401763)"
   Created on 11 Apr 2019, 22:26:25 hrs PST8PDT

3.6 Check current JDK version in GI Home.


$ $ORACLE_HOME/jdk/bin/java -version
java version "1.8.0_201"
Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)

4. As root user, apply the GI/DB RU (Patch 33509923) to grid and oracle homes. This will apply the software patches to both grid and db homes.


Note: We do not apply sql patches on the Standby. The sql patch updates will be applied to the Standby from the Primary via log apply.


4.1 Verify database is up and all PDB are open. As oracle, run:



$ srvctl status db -d PRODDR
Database is running.

$ sqlplus / as sysdba

SQL> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 PROD1PDB                       READ WRITE NO

4.2 As root, apply the GI/DB RU to grid and oracle homes.


Note: Both grid and oracle user must have full access to the working directory. We will use /home/grid/tmp as the working directory.



# chmod 777 /usr/software/oracle
# cd /usr/software/oracle

# /oracle/oraBase/19.0.0/grid/OPatch/opatchauto apply /usr/software/oracle/36209493/36233126

OPatchauto session is initiated at Thu Jul 11 13:43:31 2024

System initialization log file is /oracle/oraBase/19.0.0/grid/cfgtoollogs/opatchautodb/systemconfig2024-07-11_01-43-38PM.log.

Session log file is /oracle/oraBase/19.0.0/grid/cfgtoollogs/opatchauto/opatchauto2024-07-11_01-43-44PM.log
The id for this session is J5AR

Executing OPatch prereq operations to verify patch applicability on home /oracle/oraBase/oracle/19.0.0/database
Patch applicability verified successfully on home /oracle/oraBase/oracle/19.0.0/database


Executing patch validation checks on home /oracle/oraBase/oracle/19.0.0/database
Patch validation checks successfully completed on home /oracle/oraBase/oracle/19.0.0/database


Verifying SQL patch applicability on home /oracle/oraBase/oracle/19.0.0/database
Skipping SQL patch step execution on standby database : PRODDR
Skipping SQL patch step execution on standby database : PRODDR
No sqlpatch prereq operations are required on the local node for this home
No step execution required.........


Executing OPatch prereq operations to verify patch applicability on home /oracle/oraBase/19.0.0/grid
Patch applicability verified successfully on home /oracle/oraBase/19.0.0/grid


Executing patch validation checks on home /oracle/oraBase/19.0.0/grid
Patch validation checks successfully completed on home /oracle/oraBase/19.0.0/grid


Preparing to bring down database service on home /oracle/oraBase/oracle/19.0.0/database
Successfully prepared home /oracle/oraBase/oracle/19.0.0/database to bring down database service


Bringing down database service on home /oracle/oraBase/oracle/19.0.0/database
Following database has been stopped and will be restarted later during the session: proddr
Database service successfully brought down on home /oracle/oraBase/oracle/19.0.0/database


Performing prepatch operations on CRS - bringing down CRS service on home /oracle/oraBase/19.0.0/grid
Prepatch operation log file location: /oracle/oraBase/grid/crsdata/stdby1/crsconfig/hapatch_2024-07-11_01-56-34PM.log
CRS service brought down successfully on home /oracle/oraBase/19.0.0/grid


Start applying binary patch on home /oracle/oraBase/oracle/19.0.0/database
Binary patch applied successfully on home /oracle/oraBase/oracle/19.0.0/database


Running rootadd_rdbms.sh on home /oracle/oraBase/oracle/19.0.0/database
Successfully executed rootadd_rdbms.sh on home /oracle/oraBase/oracle/19.0.0/database


Start applying binary patch on home /oracle/oraBase/19.0.0/grid
Binary patch applied successfully on home /oracle/oraBase/19.0.0/grid


Running rootadd_rdbms.sh on home /oracle/oraBase/19.0.0/grid
Successfully executed rootadd_rdbms.sh on home /oracle/oraBase/19.0.0/grid


Performing postpatch operations on CRS - starting CRS service on home /oracle/oraBase/19.0.0/grid
Postpatch operation log file location: /oracle/oraBase/grid/crsdata/stdby1/crsconfig/hapatch_2024-07-11_02-18-54PM.log
CRS service started successfully on home /oracle/oraBase/19.0.0/grid


Starting database service on home /oracle/oraBase/oracle/19.0.0/database
Database service successfully started on home /oracle/oraBase/oracle/19.0.0/database


Preparing home /oracle/oraBase/oracle/19.0.0/database after database service restarted
No step execution required.........


Trying to apply SQL patch on home /oracle/oraBase/oracle/19.0.0/database
Skipping SQL patch step execution on standby database : PRODDR
No SQL patch operations are required on local node for this home

OPatchAuto successful.

--------------------------------Summary--------------------------------

Patching is completed successfully. Please find the summary as follows:

Host:stdby1
SIDB Home:/oracle/oraBase/oracle/19.0.0/database
Version:19.0.0.0.0
Summary:

==Following patches were SKIPPED:

Patch: /usr/software/oracle/36209493/36233126/36233343
Reason: This patch is not applicable to this specified target type - "oracle_database"

Patch: /usr/software/oracle/36209493/36233126/36383196
Reason: This patch is not applicable to this specified target type - "oracle_database"

Patch: /usr/software/oracle/36209493/36233126/36460248
Reason: This patch is not applicable to this specified target type - "oracle_database"


==Following patches were SUCCESSFULLY applied:

Patch: /usr/software/oracle/36209493/36233126/36233263
Log: /oracle/oraBase/oracle/19.0.0/database/cfgtoollogs/opatchauto/core/opatch/opatch2024-07-11_13-57-00PM_1.log

Patch: /usr/software/oracle/36209493/36233126/36240578
Log: /oracle/oraBase/oracle/19.0.0/database/cfgtoollogs/opatchauto/core/opatch/opatch2024-07-11_13-57-00PM_1.log


Host:stdby1
SIHA Home:/oracle/oraBase/19.0.0/grid
Version:19.0.0.0.0
Summary:

==Following patches were SUCCESSFULLY applied:

Patch: /usr/software/oracle/36209493/36233126/36233263
Log: /oracle/oraBase/19.0.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2024-07-11_14-08-54PM_1.log

Patch: /usr/software/oracle/36209493/36233126/36233343
Log: /oracle/oraBase/19.0.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2024-07-11_14-08-54PM_1.log

Patch: /usr/software/oracle/36209493/36233126/36240578
Log: /oracle/oraBase/19.0.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2024-07-11_14-08-54PM_1.log

Patch: /usr/software/oracle/36209493/36233126/36383196
Log: /oracle/oraBase/19.0.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2024-07-11_14-08-54PM_1.log

Patch: /usr/software/oracle/36209493/36233126/36460248
Log: /oracle/oraBase/19.0.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2024-07-11_14-08-54PM_1.log



OPatchauto session completed at Thu Jul 11 14:22:43 2024
Time taken to complete the session 39 minutes, 6 seconds

5 Apply the OJVM patch (Patch 33561310). This will apply to both GI Home and the DB Home.


5.1 Verify database is up. As oracle, run:


$ srvctl status db -d PRODDR
Database is running.

5.2 As root, apply the patch by executing:


# cd /usr/software/oracle
# export PATH=$PATH:/oracle/oraBase/19.0.0/grid/OPatch

# opatchauto apply /usr/software/oracle/36209493/36199232

OPatchauto session is initiated at Thu Jul 11 14:33:35 2024

System initialization log file is /oracle/oraBase/19.0.0/grid/cfgtoollogs/opatchautodb/systemconfig2024-07-11_02-33-38PM.log.

Session log file is /oracle/oraBase/19.0.0/grid/cfgtoollogs/opatchauto/opatchauto2024-07-11_02-33-45PM.log
The id for this session is B8V8

Executing OPatch prereq operations to verify patch applicability on home /oracle/oraBase/oracle/19.0.0/database
Patch applicability verified successfully on home /oracle/oraBase/oracle/19.0.0/database


Executing patch validation checks on home /oracle/oraBase/oracle/19.0.0/database
Patch validation checks successfully completed on home /oracle/oraBase/oracle/19.0.0/database


Verifying SQL patch applicability on home /oracle/oraBase/oracle/19.0.0/database
Skipping SQL patch step execution on standby database : PRODDR
Skipping SQL patch step execution on standby database : PRODDR
No sqlpatch prereq operations are required on the local node for this home
No step execution required.........


Executing OPatch prereq operations to verify patch applicability on home /oracle/oraBase/19.0.0/grid
Patch applicability verified successfully on home /oracle/oraBase/19.0.0/grid


Executing patch validation checks on home /oracle/oraBase/19.0.0/grid
Patch validation checks successfully completed on home /oracle/oraBase/19.0.0/grid


Preparing to bring down database service on home /oracle/oraBase/oracle/19.0.0/database
Successfully prepared home /oracle/oraBase/oracle/19.0.0/database to bring down database service


Bringing down database service on home /oracle/oraBase/oracle/19.0.0/database
Following database has been stopped and will be restarted later during the session: proddr
Database service successfully brought down on home /oracle/oraBase/oracle/19.0.0/database


Performing prepatch operations on CRS - bringing down CRS service on home /oracle/oraBase/19.0.0/grid
Prepatch operation log file location: /oracle/oraBase/grid/crsdata/stdby1/crsconfig/hapatch_2024-07-11_02-35-42PM.log
CRS service brought down successfully on home /oracle/oraBase/19.0.0/grid


Start applying binary patch on home /oracle/oraBase/oracle/19.0.0/database
Binary patch applied successfully on home /oracle/oraBase/oracle/19.0.0/database


Running rootadd_rdbms.sh on home /oracle/oraBase/oracle/19.0.0/database
Successfully executed rootadd_rdbms.sh on home /oracle/oraBase/oracle/19.0.0/database


Start applying binary patch on home /oracle/oraBase/19.0.0/grid
Binary patch applied successfully on home /oracle/oraBase/19.0.0/grid


Running rootadd_rdbms.sh on home /oracle/oraBase/19.0.0/grid
Successfully executed rootadd_rdbms.sh on home /oracle/oraBase/19.0.0/grid


Performing postpatch operations on CRS - starting CRS service on home /oracle/oraBase/19.0.0/grid
Postpatch operation log file location: /oracle/oraBase/grid/crsdata/stdby1/crsconfig/hapatch_2024-07-11_02-39-50PM.log
CRS service started successfully on home /oracle/oraBase/19.0.0/grid


Starting database service on home /oracle/oraBase/oracle/19.0.0/database
Database service successfully started on home /oracle/oraBase/oracle/19.0.0/database


Preparing home /oracle/oraBase/oracle/19.0.0/database after database service restarted
No step execution required.........


Trying to apply SQL patch on home /oracle/oraBase/oracle/19.0.0/database
Skipping SQL patch step execution on standby database : PRODDR
No SQL patch operations are required on local node for this home

OPatchAuto successful.

--------------------------------Summary--------------------------------

Patching is completed successfully. Please find the summary as follows:

Host:stdby1
SIDB Home:/oracle/oraBase/oracle/19.0.0/database
Version:19.0.0.0.0
Summary:

==Following patches were SUCCESSFULLY applied:

Patch: /usr/software/oracle/36209493/36199232
Log: /oracle/oraBase/oracle/19.0.0/database/cfgtoollogs/opatchauto/core/opatch/opatch2024-07-11_14-36-37PM_1.log


Host:stdby1
SIHA Home:/oracle/oraBase/19.0.0/grid
Version:19.0.0.0.0
Summary:

==Following patches were SUCCESSFULLY applied:

Patch: /usr/software/oracle/36209493/36199232
Log: /oracle/oraBase/19.0.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2024-07-11_14-38-27PM_1.log



OPatchauto session completed at Thu Jul 11 14:43:26 2024
Time taken to complete the session 9 minutes, 52 seconds

6 Apply the JDK patch. This will apply to both GI Home and the DB Home.


6.1 Verify database is running. As oracle, run:


$ srvctl status db -d PRODDR
Database is running.

6.2 As root, apply the patch by executing:


# cd /home/grid/tmp
# export PATH=$PATH:/oracle/oraBase/19.0.0/grid/OPatch

# opatchauto apply /usr/software/oracle/36195566

OPatchauto session is initiated at Thu Jul 11 14:50:03 2024

System initialization log file is /oracle/oraBase/19.0.0/grid/cfgtoollogs/opatchautodb/systemconfig2024-07-11_02-50-06PM.log.

Session log file is /oracle/oraBase/19.0.0/grid/cfgtoollogs/opatchauto/opatchauto2024-07-11_02-50-12PM.log
The id for this session is 85YA

Executing OPatch prereq operations to verify patch applicability on home /oracle/oraBase/oracle/19.0.0/database
Patch applicability verified successfully on home /oracle/oraBase/oracle/19.0.0/database


Executing patch validation checks on home /oracle/oraBase/oracle/19.0.0/database
Patch validation checks successfully completed on home /oracle/oraBase/oracle/19.0.0/database


Verifying SQL patch applicability on home /oracle/oraBase/oracle/19.0.0/database
No sqlpatch prereq operations are required on the local node for this home
No step execution required.........


Executing OPatch prereq operations to verify patch applicability on home /oracle/oraBase/19.0.0/grid
Patch applicability verified successfully on home /oracle/oraBase/19.0.0/grid


Executing patch validation checks on home /oracle/oraBase/19.0.0/grid
Patch validation checks successfully completed on home /oracle/oraBase/19.0.0/grid


Preparing to bring down database service on home /oracle/oraBase/oracle/19.0.0/database
Successfully prepared home /oracle/oraBase/oracle/19.0.0/database to bring down database service


Performing prepatch operations on CRS - bringing down CRS service on home /oracle/oraBase/19.0.0/grid
Prepatch operation log file location: /oracle/oraBase/grid/crsdata/stdby1/crsconfig/hapatch_2024-07-11_02-51-31PM.log
CRS service brought down successfully on home /oracle/oraBase/19.0.0/grid


Start applying binary patch on home /oracle/oraBase/oracle/19.0.0/database
Binary patch applied successfully on home /oracle/oraBase/oracle/19.0.0/database


Running rootadd_rdbms.sh on home /oracle/oraBase/oracle/19.0.0/database
Successfully executed rootadd_rdbms.sh on home /oracle/oraBase/oracle/19.0.0/database


Start applying binary patch on home /oracle/oraBase/19.0.0/grid
Binary patch applied successfully on home /oracle/oraBase/19.0.0/grid


Running rootadd_rdbms.sh on home /oracle/oraBase/19.0.0/grid
Successfully executed rootadd_rdbms.sh on home /oracle/oraBase/19.0.0/grid


Performing postpatch operations on CRS - starting CRS service on home /oracle/oraBase/19.0.0/grid
Postpatch operation log file location: /oracle/oraBase/grid/crsdata/stdby1/crsconfig/hapatch_2024-07-11_02-55-11PM.log
CRS service started successfully on home /oracle/oraBase/19.0.0/grid


Preparing home /oracle/oraBase/oracle/19.0.0/database after database service restarted
No step execution required.........


Trying to apply SQL patch on home /oracle/oraBase/oracle/19.0.0/database
No SQL patch operations are required on local node for this home

OPatchAuto successful.

--------------------------------Summary--------------------------------

Patching is completed successfully. Please find the summary as follows:

Host:stdby1
SIDB Home:/oracle/oraBase/oracle/19.0.0/database
Version:19.0.0.0.0
Summary:

==Following patches were SUCCESSFULLY applied:

Patch: /usr/software/oracle/36195566
Log: /oracle/oraBase/oracle/19.0.0/database/cfgtoollogs/opatchauto/core/opatch/opatch2024-07-11_14-52-27PM_1.log


Host:stdby1
SIHA Home:/oracle/oraBase/19.0.0/grid
Version:19.0.0.0.0
Summary:

==Following patches were SUCCESSFULLY applied:

Patch: /usr/software/oracle/36195566
Log: /oracle/oraBase/19.0.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2024-07-11_14-53-59PM_1.log



OPatchauto session completed at Thu Jul 11 14:57:03 2024
Time taken to complete the session 7 minutes, 0 second

7 Verify patches are applied.


7.1 DB Home


7.1.1 As oracle, execute the following to verify that the patches are installed.


$ opatch lsinventory|grep -A3 "^Patch.*applied"
Patch  36195566     : applied on Thu Jul 11 14:53:45 PDT 2024
Unique Patch ID:  25615984
Patch description:  "JDK BUNDLE PATCH 19.0.0.0.240416"
   Created on 25 Mar 2024, 01:10:20 hrs PST8PDT
--
Patch  36199232     : applied on Thu Jul 11 14:37:47 PDT 2024
Unique Patch ID:  25601966
Patch description:  "OJVM RELEASE UPDATE: 19.23.0.0.240416 (36199232)"
   Created on 12 Mar 2024, 17:07:05 hrs UTC
--
Patch  36240578     : applied on Thu Jul 11 14:07:46 PDT 2024
Unique Patch ID:  25625545
Patch description:  "OCW RELEASE UPDATE 19.23.0.0.0 (36240578)"
   Created on 1 Apr 2024, 03:00:31 hrs PST8PDT
--
Patch  36233263     : applied on Thu Jul 11 14:04:13 PDT 2024
Unique Patch ID:  25638263
Patch description:  "Database Release Update : 19.23.0.0.240416 (36233263)"
   Created on 8 Apr 2024, 17:16:56 hrs UTC

7.1.2 Check JDK


$ $ORACLE_HOME/jdk/bin/java -version
java version "1.8.0_411"
Java(TM) SE Runtime Environment (build 1.8.0_411-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.411-b09, mixed mode)

7.2 GI Home


7.2.1 As user grid,execute the following to verify that the patches are installed.


$ opatch lsinventory|grep -A3 "^Patch.*applied"
Patch  36195566     : applied on Thu Jul 11 14:55:01 PDT 2024
Unique Patch ID:  25615984
Patch description:  "JDK BUNDLE PATCH 19.0.0.0.240416"
   Created on 25 Mar 2024, 01:10:20 hrs PST8PDT
--
Patch  36199232     : applied on Thu Jul 11 14:39:17 PDT 2024
Unique Patch ID:  25601966
Patch description:  "OJVM RELEASE UPDATE: 19.23.0.0.240416 (36199232)"
   Created on 12 Mar 2024, 17:07:05 hrs UTC
--
Patch  36460248     : applied on Thu Jul 11 14:17:54 PDT 2024
Unique Patch ID:  25623983
Patch description:  "TOMCAT RELEASE UPDATE 19.0.0.0.0 (36460248)"
   Created on 29 Mar 2024, 14:15:01 hrs PST8PDT
--
Patch  36383196     : applied on Thu Jul 11 14:17:42 PDT 2024
Unique Patch ID:  25597177
Patch description:  "DBWLM RELEASE UPDATE 19.0.0.0.0 (36383196)"
   Created on 8 Mar 2024, 05:51:56 hrs PST8PDT
--
Patch  36240578     : applied on Thu Jul 11 14:17:22 PDT 2024
Unique Patch ID:  25625545
Patch description:  "OCW RELEASE UPDATE 19.23.0.0.0 (36240578)"
   Created on 1 Apr 2024, 03:00:31 hrs PST8PDT
--
Patch  36233343     : applied on Thu Jul 11 14:16:48 PDT 2024
Unique Patch ID:  25625322
Patch description:  "ACFS RELEASE UPDATE 19.23.0.0.0 (36233343)"
   Created on 1 Apr 2024, 04:44:36 hrs PST8PDT
--
Patch  36233263     : applied on Thu Jul 11 14:13:36 PDT 2024
Unique Patch ID:  25638263
Patch description:  "Database Release Update : 19.23.0.0.240416 (36233263)"
   Created on 8 Apr 2024, 17:16:56 hrs UTC

7.2.2 Check JDK


$ $ORACLE_HOME/jdk/bin/java -version
java version "1.8.0_411"
Java(TM) SE Runtime Environment (build 1.8.0_411-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.411-b09, mixed mode)

7.3 Check Database


SQL> show con_name

CON_NAME
------------------------------
CDB$ROOT

SQL> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 PROD1PDB                       MOUNTED

SQL> alter pluggable database all open read only;

Pluggable database altered.

SQL> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 PROD1PDB                       READ ONLY  NO

SQL> set line 180 pages 999
SQL> col ACTION_TIME for A30
SQL> col STATUS for A15
SQL> col DESCRIPTION for A65

SQL> select action_time,status,description from DBA_REGISTRY_SQLPATCH;

ACTION_TIME                    STATUS          DESCRIPTION
------------------------------ --------------- -----------------------------------------------------------------
18-JUN-24 05.20.04.469754 PM   SUCCESS         Database Release Update : 19.3.0.0.190416 (29517242)
09-JUL-24 01.17.31.657073 PM   SUCCESS         OJVM RELEASE UPDATE: 19.23.0.0.240416 (36199232)
09-JUL-24 01.26.31.550368 PM   SUCCESS         Database Release Update : 19.23.0.0.240416 (36233263)

SQL> col jdk_version for a25
SQL> select dbms_java.get_jdk_version() JDK_VERSION from dual;

JDK_VERSION
-------------------------
1.8.0_411

SQL> alter session set container=PDB$SEED;

Session altered.

SQL> select action_time,status,description from DBA_REGISTRY_SQLPATCH;

ACTION_TIME                    STATUS          DESCRIPTION
------------------------------ --------------- -----------------------------------------------------------------
18-JUN-24 06.09.57.427894 PM   SUCCESS         Database Release Update : 19.3.0.0.190416 (29517242)
09-JUL-24 01.28.44.330928 PM   SUCCESS         OJVM RELEASE UPDATE: 19.23.0.0.240416 (36199232)
09-JUL-24 01.33.57.315352 PM   SUCCESS         Database Release Update : 19.23.0.0.240416 (36233263)

SQL> select dbms_java.get_jdk_version() JDK_VERSION from dual;

JDK_VERSION
-------------------------
1.8.0_411

SQL> alter session set container=PROD1PDB;

Session altered.

SQL> select action_time,status,description from DBA_REGISTRY_SQLPATCH;

ACTION_TIME                    STATUS          DESCRIPTION
------------------------------ --------------- -----------------------------------------------------------------
18-JUN-24 06.09.54.789173 PM   SUCCESS         Database Release Update : 19.3.0.0.190416 (29517242)
09-JUL-24 01.27.48.635802 PM   SUCCESS         OJVM RELEASE UPDATE: 19.23.0.0.240416 (36199232)
09-JUL-24 01.34.45.517188 PM   SUCCESS         Database Release Update : 19.23.0.0.240416 (36233263)

SQL> select dbms_java.get_jdk_version() JDK_VERSION from dual;

JDK_VERSION
-------------------------
1.8.0_411

7.4 Verify objects are valid. Go Here if you need to fix invalid objects.


SQL> show con_name

CON_NAME
------------------------------
CDB$ROOT
SQL> show pdbs

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 PROD1PDB                       READ WRITE NO

SQL> select count(*), status from dba_objects group by status;

  COUNT(*) STATUS
---------- ---------------
     65081 VALID

SQL> alter session set container=pdb$seed;

Session altered.

SQL> select count(*), status from dba_objects group by status;

  COUNT(*) STATUS
---------- ---------------
     63982 VALID

SQL> alter session set container=prod1pdb;

Session altered.

SQL> select count(*), status from dba_objects group by status;

  COUNT(*) STATUS
---------- ---------------
     65568 VALID

7.4 Check Data Guard Status.


DGMGRL> show configuration;

Configuration - BISDB

  Protection Mode: MaxPerformance
  Members:
  PROD    - Primary database
    PRODDR - Physical standby database

Fast-Start Failover:  Disabled

Configuration Status:
SUCCESS   (status updated 28 seconds ago)

DGMGRL> show database 'PROD';

Database - PROD

  Role:               PRIMARY
  Intended State:     TRANSPORT-ON
  Instance(s):
    PROD1
    PROD2

Database Status:
SUCCESS

DGMGRL> show database 'PRODDR';

Database - PRODDR

  Role:               PHYSICAL STANDBY
  Intended State:     APPLY-ON
  Transport Lag:      0 seconds (computed 1 second ago)
  Apply Lag:          0 seconds (computed 1 second ago)
  Average Apply Rate: 318.00 KByte/s
  Real Time Query:    ON
  Instance(s):
    PRODDR

Database Status:
SUCCESS

DGMGRL> validate database 'PROD';

  Database Role:    Primary database

  Ready for Switchover:  Yes

  Managed by Clusterware:
    PROD:  YES

DGMGRL> validate database 'PRODDR';

  Database Role:     Physical standby database
  Primary Database:  PROD

  Ready for Switchover:  Yes
  Ready for Failover:    Yes (Primary Running)

  Capacity Information:
    Database  Instances        Threads
    PROD      2                2
    PRODDR    1                2
    Warning: the target standby has fewer instances than the
    primary database, this may impact application performance

  Managed by Clusterware:
    PROD  :  YES
    PRODDR:  YES

Congratulations! You have applied all the Oracle Patches on the Standby Database.