In this post I will be showing step by step guide to apply CPU
patch on oracle database 19c. I will be applying CPU patch for December 2023(Patch
no :- 35643107)
Activity Steps:
1. Check Opatch Tool Version:
- Verify
the current version of the Opatch tool. As per read me of Patch 35643107 ,
minimum required Opatch version should be 12.2.0.1.37 or later
2.Download Opatch Tool (if needed):
- Upgrade the Opatch utility if the current version is outdated. Download Opatch latest version or as mentioned in patch readme. In this case I will be installing 12.2.0.1.40 (Patch no 6880880)
3. Install Opatch Tool :
Take backup of existing Opatch directory before installing
Opatch
[oracle@ocisoumya
~]$ cd $ORACLE_HOME [oracle@ocisoumya
dbhome_1]$ mv OPatch/ OPatch_bkp [oracle@ocisoumya
u01]$ cp -r p6880880_190000_Linux-x86-64.zip $ORACLE_HOME [oracle@ocisoumya
dbhome_1]$ unzip p6880880_190000_Linux-x86-64.zip [oracle@ocisoumya
dbhome_1]$ cd OPatch [oracle@ocisoumya
OPatch]$ ./opatch version OPatch
Version: 12.2.0.1.40 OPatch
succeeded. |
3. Backup ORACLE_HOME and orainventory:
- Take a
comprehensive backup of the ORACLE_HOME directory and orainventory.
[oracle@ocisoumya
19.3.0]$ cd /u01/app/oracle/19.3.0 [oracle@ocisoumya
19.3.0]$ zip -r oracle_19c_home.zip /u01/app/oracle/19.3.0/dbhome_1 [oracle@ocisoumya
35643107]$ cd /u01/app/ [oracle@ocisoumya
app]$ ls admin audit
cfgtoollogs checkpoints diag
oracle oradata oraInventory [oracle@ocisoumya
app]$ cp -r oraInventory/ oraInventory_bkp |
4. Shutdown Database and Listener:
- Safely
shut down the database and listener associated with the ORACLE_HOME to be
patched.
[oracle@ocisoumya ~]$ sqlplus / as sysdba SQL*Plus: Release 19.0.0.0.0 - Production on Sun Jan 14
08:02:02 2024 Version 19.3.0.0.0 Copyright (c) 1982, 2019, Oracle. All rights reserved. Connected to: Oracle Database 19c Enterprise Edition Release
19.0.0.0.0 - Production Version 19.3.0.0.0 SQL> shu immediate Database closed. Database dismounted. ORACLE instance shut down. SQL> exit [oracle@ocisoumya ~]$ lsnrctl stop LSNRCTL for Linux: Version 19.0.0.0.0 - Production on
14-JAN-2024 08:02:40 Copyright (c) 1991, 2019, Oracle. All rights reserved. Connecting to
(ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521)) The command completed successfully |
5. Apply PSU Patch:
- Apply
the CPU patch 35643107 to the
specified ORACLE_HOME.
Navigate to patch directory and
check for conflict using following
[oracle@ocisoumya
~]$ export PATH=/u01/app/oracle/19.3.0/dbhome_1/OPatch:$PATH [oracle@ocisoumya
~]$ cd /u01/35643107/ [oracle@ocisoumya
35643107]$ opatch prereq CheckConflictAgainstOHWithDetail -ph ./ Oracle
Interim Patch Installer version 12.2.0.1.40 Copyright (c)
2024, Oracle Corporation. All rights
reserved. PREREQ
session Oracle
Home :
/u01/app/oracle/19.3.0/dbhome_1 Central
Inventory : /u01/app/oraInventory from :
/u01/app/oracle/19.3.0/dbhome_1/oraInst.loc OPatch
version : 12.2.0.1.40 OUI
version : 12.2.0.7.0 Log file
location :
/u01/app/oracle/19.3.0/dbhome_1/cfgtoollogs/opatch/opatch2024-01-14_08-11-35AM_1.log Invoking
prereq "checkconflictagainstohwithdetail" Prereq
"checkConflictAgainstOHWithDetail" passed. OPatch
succeeded. |
Install Patch
[oracle@ocisoumya 35643107]$ opatch apply Oracle Interim Patch Installer version 12.2.0.1.40 Copyright (c) 2024, Oracle Corporation. All rights reserved. Oracle Home
: /u01/app/oracle/19.3.0/dbhome_1 Central Inventory : /u01/app/oraInventory from :
/u01/app/oracle/19.3.0/dbhome_1/oraInst.loc OPatch version
: 12.2.0.1.40 OUI version
: 12.2.0.7.0 Log file location :
/u01/app/oracle/19.3.0/dbhome_1/cfgtoollogs/opatch/opatch2024-01-14_08-13-23AM_1.log Verifying environment and performing prerequisite
checks... OPatch continues with these patches: 35643107 Do you want to proceed? [y|n] y User Responded with: Y All checks passed. Please shutdown Oracle instances running out of this
ORACLE_HOME on the local system. (Oracle Home = '/u01/app/oracle/19.3.0/dbhome_1') Is the local system ready for patching? [y|n] y User Responded with: Y Backing up files... Applying interim patch '35643107' to OH
'/u01/app/oracle/19.3.0/dbhome_1' ApplySession: Optional component(s) [
oracle.network.gsm, 19.0.0.0.0 ] , [ oracle.pg4mq, 19.0.0.0.0 ] , [
oracle.rdbms.ic, 19.0.0.0.0 ] , [ oracle.rdbms.tg4db2, 19.0.0.0.0 ] , [
oracle.tfa, 19.0.0.0.0 ] , [ oracle.rdbms.tg4msql, 19.0.0.0.0 ] , [ oracle.ons.cclient,
19.0.0.0.0 ] , [ oracle.rdbms.tg4sybs, 19.0.0.0.0 ] , [
oracle.options.olap.api, 19.0.0.0.0 ] , [ oracle.network.cman, 19.0.0.0.0 ] ,
[ oracle.sdo.companion, 19.0.0.0.0 ] , [ oracle.xdk.companion, 19.0.0.0.0 ] ,
[ oracle.rdbms.tg4tera, 19.0.0.0.0 ] , [ oracle.net.cman, 19.0.0.0.0 ] , [
oracle.ons.eons.bwcompat, 19.0.0.0.0 ] , [ oracle.oid.client, 19.0.0.0.0 ] ,
[ oracle.rdbms.tg4ifmx, 19.0.0.0.0 ] , [ oracle.options.olap, 19.0.0.0.0 ] ,
[ oracle.jdk, 1.8.0.191.0 ] not
present in the Oracle Home or a higher version is found. Patching component oracle.rdbms.util, 19.0.0.0.0... Patching component oracle.rdbms.rsf, 19.0.0.0.0... Patching component oracle.rdbms, 19.0.0.0.0... Patching component oracle.assistants.acf, 19.0.0.0.0... Patching component oracle.assistants.deconfig,
19.0.0.0.0... Patching component oracle.assistants.server,
19.0.0.0.0... Patching component oracle.blaslapack, 19.0.0.0.0... Patching component oracle.buildtools.rsf, 19.0.0.0.0... Patching component oracle.ctx, 19.0.0.0.0... Patching component oracle.dbdev, 19.0.0.0.0... Patching component oracle.dbjava.ic, 19.0.0.0.0... Patching component oracle.dbjava.jdbc, 19.0.0.0.0... Patching component oracle.dbjava.ucp, 19.0.0.0.0... Patching component oracle.duma, 19.0.0.0.0... Patching component oracle.javavm.client, 19.0.0.0.0... Patching component oracle.ldap.owm, 19.0.0.0.0... Patching component oracle.ldap.rsf, 19.0.0.0.0... Patching component oracle.ldap.security.osdt,
19.0.0.0.0... Patching component oracle.marvel, 19.0.0.0.0... Patching component oracle.network.rsf, 19.0.0.0.0... Patching component oracle.odbc.ic, 19.0.0.0.0... Patching component oracle.ons, 19.0.0.0.0... Patching component oracle.ons.ic, 19.0.0.0.0... Patching component oracle.oracore.rsf, 19.0.0.0.0... Patching component oracle.perlint, 5.28.1.0.0... Patching component oracle.precomp.common.core,
19.0.0.0.0... Patching component oracle.precomp.rsf, 19.0.0.0.0... Patching component oracle.rdbms.crs, 19.0.0.0.0... Patching component oracle.rdbms.dbscripts,
19.0.0.0.0... Patching component oracle.rdbms.deconfig, 19.0.0.0.0... Patching component oracle.rdbms.oci, 19.0.0.0.0... Patching component oracle.rdbms.rsf.ic, 19.0.0.0.0... Patching component oracle.rdbms.scheduler,
19.0.0.0.0... Patching component oracle.rhp.db, 19.0.0.0.0... Patching component oracle.sdo, 19.0.0.0.0... Patching component oracle.sdo.locator.jrf,
19.0.0.0.0... Patching component oracle.sqlplus, 19.0.0.0.0... Patching component oracle.sqlplus.ic, 19.0.0.0.0... Patching component oracle.wwg.plsql, 19.0.0.0.0... Patching component oracle.ldap.rsf.ic, 19.0.0.0.0... Patching component oracle.ldap.client, 19.0.0.0.0... Patching component oracle.rdbms.dv, 19.0.0.0.0... Patching component oracle.rdbms.install.common,
19.0.0.0.0... Patching component oracle.rdbms.hsodbc, 19.0.0.0.0... Patching component oracle.nlsrtl.rsf, 19.0.0.0.0... Patching component oracle.xdk.rsf, 19.0.0.0.0... Patching component oracle.odbc, 19.0.0.0.0... Patching component oracle.xdk.parser.java,
19.0.0.0.0... Patching component oracle.ctx.atg, 19.0.0.0.0... Patching component oracle.network.listener,
19.0.0.0.0... Patching component oracle.ctx.rsf, 19.0.0.0.0... Patching component oracle.rdbms.hs_common,
19.0.0.0.0... Patching component oracle.dbtoolslistener,
19.0.0.0.0... Patching component oracle.xdk, 19.0.0.0.0... Patching component oracle.rdbms.rman, 19.0.0.0.0... Patching component oracle.rdbms.drdaas, 19.0.0.0.0... Patching component oracle.install.deinstalltool,
19.0.0.0.0... Patching component oracle.ovm, 19.0.0.0.0... Patching component oracle.rdbms.install.plugins,
19.0.0.0.0... Patching component oracle.mgw.common, 19.0.0.0.0... Patching component oracle.xdk.xquery, 19.0.0.0.0... Patching component oracle.network.client, 19.0.0.0.0... Patching component oracle.ldap.ssl, 19.0.0.0.0... Patching component oracle.oraolap.api, 19.0.0.0.0... Patching component oracle.javavm.server, 19.0.0.0.0... Patching component oracle.sdo.locator, 19.0.0.0.0... Patching component oracle.oraolap, 19.0.0.0.0... Patching component oracle.oraolap.dbscripts,
19.0.0.0.0... Patching component oracle.rdbms.lbac, 19.0.0.0.0... Patching component oracle.precomp.common, 19.0.0.0.0... Patching component oracle.precomp.lang, 19.0.0.0.0... Patching component oracle.jdk, 1.8.0.201.0... Patch 35643107 successfully applied. Sub-set patch [29517242] has become inactive due to the
application of a super-set patch [35643107]. Please refer to Doc ID 2161861.1 for any possible
further required actions. Log file location:
/u01/app/oracle/19.3.0/dbhome_1/cfgtoollogs/opatch/opatch2024-01-14_08-13-23AM_1.log OPatch succeeded. |
6. Validate Patch in Inventory:
- Confirm
the successful application of the patch in the inventory.
[oracle@ocisoumya 35643107]$ opatch
lsinventory | grep 35643107 Patch
35643107 : applied on Sun
Jan 14 08:16:16 GMT 2024 Patch description: "Database Release Update :
19.21.0.0.231017 (35643107)" |
7. Startup Database and Listener:
- Start
up the database and listener services associated with the patched Oracle
home.
[oracle@ocisoumya ~]$ sqlplus / as
sysdba SQL*Plus: Release 19.0.0.0.0 -
Production on Sun Jan 14 08:23:17 2024 Version 19.21.0.0.0 Copyright (c) 1982, 2022, Oracle. All rights reserved. Connected to an idle instance. SQL> startup ORACLE instance started. Total System Global Area 4949276544
bytes Fixed Size 8935296 bytes Variable Size 889192448 bytes Database Buffers 4043309056 bytes Redo Buffers 7839744 bytes Database mounted. Database opened. SQL> exit [oracle@ocisoumya ~]$ lsnrctl start LSNRCTL for Linux: Version 19.0.0.0.0 -
Production on 14-JAN-2024 08:25:10 Copyright (c) 1991, 2023, Oracle. All rights reserved. Starting
/u01/app/oracle/19.3.0/dbhome_1/bin/tnslsnr: please wait... TNSLSNR for Linux: Version 19.0.0.0.0 -
Production Log messages written to
/u01/app/diag/tnslsnr/ocisoumya/listener/alert/log.xml Listening on:
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ocisoumya.example.com)(PORT=1521))) Connecting to
(ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521)) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Linux: Version
19.0.0.0.0 - Production Start Date 14-JAN-2024 08:25:10 Uptime 0 days 0 hr. 0 min. 0 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Log File
/u01/app/diag/tnslsnr/ocisoumya/listener/alert/log.xml Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ocisoumya.example.com)(PORT=1521))) The listener supports no services The command completed successfully |
8. Execute Post-installation Steps (datapatch):
- Run
post-installation steps, including the execution of datapatch.
[oracle@ocisoumya ~]$ datapatch
-verbose SQL Patching tool version 19.21.0.0.0
Production on Sun Jan 14 08:26:08 2024 Copyright (c) 2012, 2023, Oracle. All rights reserved. Log file for this invocation:
/u01/app/cfgtoollogs/sqlpatch/sqlpatch_25436_2024_01_14_08_26_08/sqlpatch_invocation.log Connecting to database...OK Gathering database info...done Bootstrapping registry and package to
current versions...done Determining current state...done Current state of interim SQL patches:
No interim patches found Current state of release update SQL
patches:
Binary registry:
19.21.0.0.0 Release_Update 230930151951: Installed
SQL registry:
Applied 19.3.0.0.0 Release_Update 190410122720 successfully on
04-OCT-23 04.48.01.858067 AM Adding patches to installation queue
and performing prereq checks...done Installation queue:
No interim patches need to be rolled back
Patch 35643107 (Database Release Update : 19.21.0.0.231017
(35643107)):
Apply from 19.3.0.0.0 Release_Update 190410122720 to 19.21.0.0.0
Release_Update 230930151951
No interim patches need to be applied Installing patches... Patch installation complete. Total patches installed: 1 Validating logfiles...done Patch 35643107 apply: SUCCESS
logfile:
/u01/app/cfgtoollogs/sqlpatch/35643107/25405995/35643107_apply_ORCL_2024Jan14_08_26_38.log
(no errors) Automatic recompilation incomplete; run
utlrp.sql to revalidate. SQL Patching tool complete on Sun Jan
14 08:31:34 2024 |
9. Verify Patch Status from dba_registry_sqlpatch:
- Check
the status of the applied patch in the dba_registry_sqlpatch view.
SQL> COLUMN action_time FORMAT A20 SQL> COLUMN action FORMAT A10 SQL> COLUMN status FORMAT A10 SQL> COLUMN description FORMAT A60 SQL> SELECT TO_CHAR(action_time,
'DD-MON-YYYY HH24:MI:SS') AS action_time,action,status,description,patch_id
FROM sys.dba_registry_sqlpatch ORDER by action_time; -------------------- ---------- ---------- ------------------------------------------------------------ ---------- 04-OCT-2023 04:48:01 APPLY SUCCESS Database Release Update : 19.3.0.0.190416 (29517242) 29517242 14-JAN-2024 08:31:33 APPLY SUCCESS Database Release Update : 19.21.0.0.231017 (35643107) 35643107 |
10. Run utlrp.sql to validate any invalid objects :
SQL>
@?/rdbms/admin/utlrp.sql |
This concludes the PSU patching activity on oracle home.
No comments:
Post a Comment