How to Patch Oracle 19c to Release 19.29 – A Complete
Step-by-Step Blog
Introduction
I recently had to patch one of my Oracle 19c databases from
19.28 to 19.29. As always, the goal was simple — stay secure, stable, and
aligned with Oracle’s quarterly patch cycle. Since this is something we DBAs do
every few months, I decided to write down the exact steps I followed. The
procedures are the same for all 19c versions.
This is more than just a technical dump. I will walk through
all the practical, step-by-step guide, including downloads, checks, patching,
verification required for the patching.
Note: On production systems, please do not follow this
mindlessly. Always apply on test/dev first!
How to Apply Oracle 19.29 Patch – Full Walkthrough
Let’s dive into the actual process.
1. Download the Patch and OPatch Utility
- Log in to Oracle Support using
your org credentials.
- Select Patches & Product
certification matrix from search box
- Provide patch no : 38291812
, 6880880
- Select your platform: For
e.g. Linux x86-64
- Download & review the
README file
- Download:
- Patch file: p38291812_190000_Linux-x86-64.zip
- OPatch utility:
p6880880_190000_Linux-x86-64.zip
2. Check and update
OPatch Utility
In the
server:
|
[oracle@ocisoumya
~]$cd $ORACLE_HOME/OPatch [oracle@ocisoumya
~]$./opatch version |
You need version 12.2.0.1.48 or higher.
If it doesn’t
show above version, update opatch
|
[oracle@ocisoumya
~]$mv OPatch OPatch_backup1 [oracle@ocisoumya ~]$cp
p6880880_190000_Linux-x86-64.zip $ORACLE_HOME [oracle@ocisoumya ~]$cd $ORACLE_HOME [oracle@ocisoumya ~]$ unzip
p6880880_190000_Linux-x86-64.zip |
Update your .bash_profile to run opatch globally:
|
[oracle@ocisoumya
~]vi /home/oracle/.bash_profile PATH=$ORACLE_HOME/OPatch:$PATH :wq [oracle@ocisoumya
~] . ~/.bash_profile |
3. Prepare the Patch Directory
|
[oracle@ocisoumya
~]mkdir /home/oracle/patch [oracle@ocisoumya
~] chmod -R 777 /home/oracle/patch |
Transfer both ZIP files (Patch + OPatch) to this directory
using WinSCP or similar.
4. Unzip the Patch
|
[oracle@ocisoumya
~]cd /home/oracle/patch [oracle@ocisoumya
~]unzip p38291812_190000_Linux-x86-64.zip [oracle@ocisoumya
~]cd 38291812 |
5. Run Pre-checks
Before applying the patch, check for conflicts:
|
[oracle@ocisoumya
~] ./opatch prereq CheckConflictAgainstOHWithDetail -ph ./ |
If you see “Success”, you’re good to go.
6. Stop Database and Listener
|
[oracle@ocisoumya
~]sqlplus / as sysdba SQL>
shutdown immediate SQL>
exit [oracle@ocisoumya
~] lsnrctl stop |
Verify that all services are down.
7. Clean Up Inactive Patches (Optional)
|
[oracle@ocisoumya
~]cd $ORACLE_HOME/OPatch [oracle@ocisoumya
~]./opatch util listOrderedInactivePatches [oracle@ocisoumya
~]./opatch util deleteInactivePatches |
8. Make Sure You Have Enough Space
You’ll need at least 12 GB free in /home.
[oracle@ocisoumya ~] df -h
9. Apply the Patch
|
[oracle@ocisoumya
~]cd /home/oracle/patch/38291812 [oracle@ocisoumya
~] ./opatch apply |
Watch for success messages during the patch process.
10. Run DataPatch
This registers the patch inside the database:
|
[oracle@ocisoumya
~]cd $ORACLE_HOME/OPatch [oracle@ocisoumya
~] ./datapatch -verbose |
Start Database and Verify Patch
|
[oracle@ocisoumya
~]sqlplus / as sysdba SQL>startup SQL>
select * from v$version; SQL>
select * from dba_registry_sqlpatch; |
You should see 19.29.0.0.0 listed in the output!
Final Tips
- Always
patch standby first in Data Guard setups.
- Never patch
production first — test on a non-prod clone.
- Always
read the README.
- Share
this guide if it helped!
No comments:
Post a Comment