1)Download GI PSU 12.1.0.2.190716 Patch 29698592, and Oracle JavaVM Component Database PSU 12.1.0.2.190716 Patch 29774383.
2) Download and install latest p6880880_121010_Linux-x86-64.zip for both GI_HOME and RDMS_HOME.
3) Set up PATH
# export PATH=$PATH:/u01/app/12.1.0/grid/OPatch # opatch version OPatch Version: 12.2.0.1.17 OPatch succeeded.
4) Apply GI and DB PSU on first node, then do the same on second node.
As root user, execute the following command on each node of the cluster:
# /u01/app/12.1.0/grid/OPatch/opatchauto apply /tmp/29698592 OPatchauto session is initiated at Sun Jul 28 22:39:56 2019 System initialization log file is /u01/app/12.1.0/grid/cfgtoollogs/opatchautodb/systemconfig2019-07-28_10-49-47PM.log. Session log file is /u01/app/12.1.0/grid/cfgtoollogs/opatchauto/opatchauto2019-07-28_10-51-20PM.log The id for this session is B1YJ Executing OPatch prereq operations to verify patch applicability on home /u01/app/12.1.0/grid Executing OPatch prereq operations to verify patch applicability on home /u01/app/oracle/product/12.1.0/dbhome_1 Patch applicability verified successfully on home /u01/app/oracle/product/12.1.0/dbhome_1 Patch applicability verified successfully on home /u01/app/12.1.0/grid Verifying SQL patch applicability on home /u01/app/oracle/product/12.1.0/dbhome_1 SQL patch applicability verified successfully on home /u01/app/oracle/product/12.1.0/dbhome_1 Preparing to bring down database service on home /u01/app/oracle/product/12.1.0/dbhome_1 Successfully prepared home /u01/app/oracle/product/12.1.0/dbhome_1 to bring down database service Bringing down CRS service on home /u01/app/12.1.0/grid Prepatch operation log file location: /u01/app/12.1.0/grid/cfgtoollogs/crsconfig/crspatch_racnode1_2019-07-28_11-31-15PM.log CRS service brought down successfully on home /u01/app/12.1.0/grid Performing prepatch operation on home /u01/app/oracle/product/12.1.0/dbhome_1 Perpatch operation completed successfully on home /u01/app/oracle/product/12.1.0/dbhome_1 Start applying binary patch on home /u01/app/oracle/product/12.1.0/dbhome_1 Binary patch applied successfully on home /u01/app/oracle/product/12.1.0/dbhome_1 Performing postpatch operation on home /u01/app/oracle/product/12.1.0/dbhome_1 Postpatch operation completed successfully on home /u01/app/oracle/product/12.1.0/dbhome_1 Start applying binary patch on home /u01/app/12.1.0/grid Binary patch applied successfully on home /u01/app/12.1.0/grid Starting CRS service on home /u01/app/12.1.0/grid Postpatch operation log file location: /u01/app/12.1.0/grid/cfgtoollogs/crsconfig/crspatch_racnode1_2019-07-29_01-30-59AM.log CRS service started successfully on home /u01/app/12.1.0/grid Preparing home /u01/app/oracle/product/12.1.0/dbhome_1 after database service restarted No step execution required......... Trying to apply SQL patch on home /u01/app/oracle/product/12.1.0/dbhome_1 SQL patch applied successfully on home /u01/app/oracle/product/12.1.0/dbhome_1 OPatchAuto successful.
--------------------------------Summary-------------------------------- Patching is completed successfully. Please find the summary as follows: Host:racnode1 RAC Home:/u01/app/oracle/product/12.1.0/dbhome_1 Version:12.1.0.2.0 Summary: ==Following patches were SKIPPED: Patch: /tmp/29698592/26983807 Reason: This patch is not applicable to this specified target type - "rac_database" Patch: /tmp/29698592/29423125 Reason: This patch is not applicable to this specified target type - "rac_database" ==Following patches were SUCCESSFULLY applied: Patch: /tmp/29698592/29494060 Log: /u01/app/oracle/product/12.1.0/dbhome_1/cfgtoollogs/opatchauto/core/opatch/opatch2019-07-28_23-34-47PM_1.log Patch: /tmp/29698592/29509318 Log: /u01/app/oracle/product/12.1.0/dbhome_1/cfgtoollogs/opatchauto/core/opatch/opatch2019-07-28_23-34-47PM_1.log Host:racnode1 CRS Home:/u01/app/12.1.0/grid Version:12.1.0.2.0 Summary: ==Following patches were SUCCESSFULLY applied: Patch: /tmp/29698592/26983807 Log: /u01/app/12.1.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2019-07-29_00-16-53AM_1.log Patch: /tmp/29698592/29423125 Log: /u01/app/12.1.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2019-07-29_00-16-53AM_1.log Patch: /tmp/29698592/29494060 Log: /u01/app/12.1.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2019-07-29_00-16-53AM_1.log Patch: /tmp/29698592/29509318 Log: /u01/app/12.1.0/grid/cfgtoollogs/opatchauto/core/opatch/opatch2019-07-29_00-16-53AM_1.log OPatchauto session completed at Mon Jul 29 02:12:00 2019 Time taken to complete the session 212 minutes, 4 seconds [root@racnode1 ~]#
From the log, we can see GI management database was patched as well.
... .. . 2019-07-29 01:53:43: Mgmtdb is running on node: racnode1; local node: racnode1 2019-07-29 01:53:43: Mgmtdb is running on the local node 2019-07-29 01:53:43: Starting to patch Mgmt DB ... 2019-07-29 01:53:43: Invoking "/u01/app/12.1.0/grid/sqlpatch/sqlpatch -db -MGMTDB" 2019-07-29 01:53:43: Running as user grid: /u01/app/12.1.0/grid/sqlpatch/sqlpatch -db -MGMTDB 2019-07-29 01:53:43: Invoking "/u01/app/12.1.0/grid/sqlpatch/sqlpatch -db -MGMTDB" as user "grid" 2019-07-29 01:53:43: Executing /bin/su grid -c "/u01/app/12.1.0/grid/sqlpatch/sqlpatch -db -MGMTDB" 2019-07-29 01:53:43: Executing cmd: /bin/su grid -c "/u01/app/12.1.0/grid/sqlpatch/sqlpatch -db -MGMTDB"
5) Apply Patch 29774383 – Oracle JavaVM Component 12.1.0.2.190716 Database PSU.
[oracle@racnode1 patches]$ cd 29774383 [oracle@racnode1 29774383]$ [oracle@racnode1 29774383]$opatch prereq CheckConflictAgainstOHWithDetail -ph ./ Oracle Interim Patch Installer version 12.2.0.1.17 Copyright (c) 2019, Oracle Corporation. All rights reserved. PREREQ session Oracle Home : /u01/app/oracle/product/12.1.0/dbhome_1 Central Inventory : /u01/app/oraInventory from : /u01/app/oracle/product/12.1.0/dbhome_1/oraInst.loc OPatch version : 12.2.0.1.17 OUI version : 12.1.0.2.0 Log file location : /u01/app/oracle/product/12.1.0/dbhome_1/cfgtoollogs/opatch/opatch2019-07-31_20-53-44PM_1.log Invoking prereq "checkconflictagainstohwithdetail" Prereq "checkConflictAgainstOHWithDetail" passed. OPatch succeeded. [oracle@racnode1 29774383]$ opatch apply
-- on node 2 [oracle@racnode2 29774383]$ export PATH=$PATH:$ORACLE_HOME/OPatch [oracle@racnode2 29774383]$ opatch apply
Loading Modified SQL Files Into the Database
[oracle@racnode2 29774383]$ sqlplus /nolog SQL> CONNECT / AS SYSDBA Connected to an idle instance. SQL> STARTUP ORACLE instance started. Database mounted. Database opened. alter system set cluster_database=false scope=spfile; System altered. [oracle@racnode2 29774383]$ srvctl stop database -d RACTEST [oracle@racnode2 29774383]$ sqlplus /nolog SQL> CONNECT / AS SYSDBA Connected to an idle instance. SQL> STARTUP UPGRADE ORACLE instance started. Database mounted. Database opened. SQL> alter pluggable database all open upgrade; Pluggable database altered.
[oracle@racnode2 29774383]$ cd $ORACLE_HOME/OPatch [oracle@racnode2 OPatch]$ ./datapatch -verbose SQL Patching tool version 12.1.0.2.0 Production on Wed Jul 31 21:21:07 2019 Copyright (c) 2012, 2016, Oracle. All rights reserved. Log file for this invocation: /u01/app/oracle/cfgtoollogs/sqlpatch/ sqlpatch_25124_2019_07_31_21_21_07/sqlpatch_invocation.log Connecting to database...OK Note: Datapatch will only apply or rollback SQL fixes for PDBs that are in an open state, no patches will be applied to closed PDBs. Please refer to Note: Datapatch: Database 12c Post Patch SQL Automation (Doc ID 1585822.1) Bootstrapping registry and package to current versions...done Determining current state...done Current state of SQL patches: Patch 29774383 (Database PSU 12.1.0.2.190716, Oracle JavaVM Component (JUL2019)): Installed in the binary registry only Bundle series PSU: ID 190716 in the binary registry and ID 190716 in PDB CDB$ROOT, ID 190716 in PDB PDB$SEED, ID 190716 in PDB PDB_A Adding patches to installation queue and performing prereq checks... Installation queue: For the following PDBs: CDB$ROOT PDB$SEED PDB_A Nothing to roll back The following patches will be applied: 29774383 (Database PSU 12.1.0.2.190716, Oracle JavaVM Component (JUL2019)) Installing patches... Patch installation complete. Total patches installed: 3 Validating logfiles... Patch 29774383 apply (pdb CDB$ROOT): SUCCESS logfile: /u01/app/oracle/cfgtoollogs/sqlpatch/29774383/22961858/29774383_apply_RACTEST_CDBROOT_2019Jul31_21_22_21.log (no errors) Patch 29774383 apply (pdb PDB$SEED): SUCCESS logfile: /u01/app/oracle/cfgtoollogs/sqlpatch/29774383/22961858/29774383_apply_RACTEST_PDBSEED_2019Jul31_21_25_13.log (no errors) Patch 29774383 apply (pdb PDB_A): SUCCESS logfile: /u01/app/oracle/cfgtoollogs/sqlpatch/29774383/22961858/29774383_apply_RACTEST_PDB_A_2019Jul31_21_25_13.log (no errors) SQL Patching tool complete on Wed Jul 31 21:26:52 2019
[oracle@racnode2 OPatch]$ sqlplus /nolog SQL*Plus: Release 12.1.0.2.0 Production on Wed Jul 31 21:29:55 2019 Copyright (c) 1982, 2014, Oracle. All rights reserved. SQL> Connect / as sysdba Connected. SQL> alter system set cluster_database=true scope=spfile; System altered. SQL> SHUTDOWN Database closed. Database dismounted. ORACLE instance shut down. [oracle@racnode2 OPatch]$ srvctl start database -d RACTEST [oracle@racnode2 OPatch]$ sqlplus /as sysdba SQL> @ $ORACLE_HOME/rdbms/admin/utlrp.sql
Finally check applied patches on both nodes and databases.
$opatch lsinventory
SQL> show con_name CON_NAME --------------- CDB$ROOT SQL> select PATCH_ID, STATUS, VERSION, DESCRIPTION from dba_registry_sqlpatch PATCH_ID STATUS VERSION DESCRIPTION ---------- ---------- --------- ------------------------------------------ 29494060 SUCCESS 12.1.0.2 DATABASE PATCH SET UPDATE 12.1.0.2.190716 29774383 SUCCESS 12.1.0.2 Database PSU 12.1.0.2.190716, Oracle JavaVM Component (JUL2019)
SQL> alter session set container=PDB_A; Session altered. SQL> show con_name; CON_NAME ------------------------------ PDB_A SQL> select PATCH_ID, STATUS, VERSION, DESCRIPTION from dba_registry_sqlpatch PATCH_ID STATUS VERSION DESCRIPTION --------- ------- -------- -------------------------------------- 29494060 SUCCESS 12.1.0.2 DATABASE PATCH SET UPDATE 12.1.0.2.190716 29774383 SUCCESS 12.1.0.2 Database PSU 12.1.0.2.190716, Oracle JavaVM Component (JUL2019)
SQL> show parameter instance_name NAME TYPE VALUE -------------- ----------- ------------------------ instance_name string -MGMTDB SQL> select PATCH_ID, STATUS, VERSION, DESCRIPTION from dba_registry_sqlpatch; PATCH_ID STATUS VERSION DESCRIPTION ---------- ------- ---------- ------------------------------------------ 29494060 SUCCESS 12.1.0.2 DATABASE PATCH SET UPDATE 12.1.0.2.190716