How to Patch Oracle 19c to Release 19.27 – A Complete Step-by-Step Blog

How to Patch Oracle 19c to Release 19.27 – A Complete Step-by-Step Blog


🚀 Introduction

Keeping your Oracle environment up to date is essential — not just for performance, but also for security and stability. Oracle regularly releases patches, and today, I’ll walk you through the exact steps I followed to patch my Oracle 19c database from version 19.26.0.0.0 to 19.27.0.0.0.

This isn’t just a technical dump. It’s a real-life, step-by-step guide that includes everything you’ll need: downloads, checks, patching, verification, and a few gotchas to watch out for.

⚠️ Note: Please don’t blindly follow this on production systems. Always test first!


🔍 Why is Oracle Patching Important?

  • 🔐 Security – Patches protect your system from known vulnerabilities.
  • 🐛 Bug Fixes – They fix software issues that might crash your app or corrupt data.
  • ⚙️ Performance – Some patches improve performance and stability.
  • Compliance – Often required by industry standards and audits.
  • 🆕 New Features – Occasionally, you’ll get useful improvements.

🧩 Types of Oracle Patches

Oracle releases a variety of patches:

  • Critical Patch Updates (CPUs) – Quarterly security-focused releases.
  • Security Alerts – Out-of-cycle security fixes.
  • Patch Set Updates (PSUs) – Bundles of fixes + past CPU patches.
  • Interim Patches – One-off patches for urgent issues.
  • Bundle Patches – Component-specific patch sets.
  • Release Updates (RUs) – Major rolling updates in 19c+ that include all of the above.

📅 Next CPU release is scheduled for July 15, 2025.


🧰 How to Apply Oracle 19.27 Patch – Full Walkthrough

Let’s dive into the actual process.


1. Download the Patch and OPatch Utility

  1. Log in to Oracle Support using your org credentials.
  2. Go to Patches & Updates, search with document ID 2118136.2.
  3. Select your platform: Oracle 19c → Non-RAC or RAC → April 2025 Patch.
  4. Choose OS: e.g. Red Hat Linux x86_64.
  5. Download the README file – this is your best friend.
  6. Download:
    • Patch file: p37642901_190000_Linux-x86-64.zip
    • OPatch utility: p6880880_190000_Linux-x86-64.zip

2. Check and Update OPatch

In the server:

[oracle@ocisoumya ~]$cd $ORACLE_HOME/OPatch

[oracle@ocisoumya ~]$./opatch version

 

You need version 12.2.0.1.46 or higher.

If not:

[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

 

 

🔧 Optional: Update your .bash_profile to run opatch globally:

[oracle@ocisoumya ~]vi /home/oracle/.bash_profile

PATH=$ORACLE_HOME/OPatch:$PATH

. ~/.bash_profile

:wq

 


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 p37642901_190000_Linux-x86-64.zip

[oracle@ocisoumya ~]cd 37642901

 


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 but Recommended)

[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/37642901

[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

 

 


 

11. Start Database and Verify Patch

[oracle@ocisoumya ~]sqlplus / as sysdba

SQL>startup

SQL> select * from v$version;

 

You should see 19.27.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