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
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.