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!
Love is not as easy as people make it look like and in love commitment is key, commitment reveals who is true and who is not, I fell in love with the wrong one who was not committed, who did not to sacrifice for what we had, I was lied to and played on, I was seeing the signs but was not sure what it was until my sister told me about Mac and his team (macprivateinvestigators @ gmail .com) who helped expose my husband and all his secrets on how he was involved with other women, the evidence provided made the divorce case easy for me, now I feel free.
ReplyDelete