How to Apply Oracle 19c Patch 19.30 on Linux – Step-by-Step Guide

Oracle 19c Patch 19.30

Keeping your Oracle Database 19c up to date is critical for security, performance, and stability. In this guide, you’ll learn how to apply the latest Oracle 19c Patch 19.30 on a Linux environment.

📌 Prerequisites

Before applying the Oracle 19c Patch 19.30, ensure:

  • Oracle Home path is set correctly.
  • The database is running.
  • Backup of the database and Oracle Home is taken.
  • Latest OPatch version (12.2.0.1.40 or higher) installed.
  • Sufficient disk space available.

Step 1: Download the Required Patches

These two patches must be downloaded from Oracle Support:

  • Oracle 19.30 Database RU Patch
  • OJVM Patch (optional but recommended)

Current Database Version

In our case, we just install oracle 19c base version 19.3.0.0.0 only, and we will apply the latest patch on it.

current DB version

Download OPatch Version

OPatch utility version 12.2.0.1.48 or later to apply this patch. Download the OPatch latest version.

Update OPatch Version

Unzip the OPatch inside the Oracle home directory, but before it take backup of the old OPatch directory.

[oracle@ocptech dbhome_1]$ unzip p6880880_190000_Linux-x86-64.zip -d /u01/app/oracle/product/19.3.0/dbhome_1/ 

Check OPatch Version now:

[oracle@ocptech OPatch]$ ./opatch version
OPatch Version: 12.2.0.1.49

OPatch succeeded.

Step 2: Prepare Patch Directory

mkdir -p /u01/patch-19.30
cd /u01/patch-19.30
unzip p38632161_190000_Linux-x86-64.zip .

Step 3: Stop Database and Listener

Stop all the database services using the following steps:

sqlplus / as sysdba
SHUTDOWN IMMEDIATE;
EXIT;
lsnrctl stop

Step 4: Check Current Patch Level

$ORACLE_HOME/OPatch/opatch lspatches


[oracle@ocptech ~]$ $ORACLE_HOME/OPatch/opatch lspatches
29585399;OCW RELEASE UPDATE 19.3.0.0.0 (29585399)
29517242;Database Release Update : 19.3.0.0.190416 (29517242)

OPatch succeeded.

Step 5: Run Conflict Check

[oracle@ocptech 38632161]$ pwd
/u01/patch-19.30/38632161


[oracle@ocptech 38632161]$ $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir .

Oracle Interim Patch Installer version 12.2.0.1.49
Copyright (c) 2026, Oracle Corporation.  All rights reserved.

PREREQ session

Oracle Home       : /u01/app/oracle/product/19.3.0/dbhome_1
Central Inventory : /u01/app/oraInventory
   from           : /u01/app/oracle/product/19.3.0/dbhome_1/oraInst.loc
OPatch version    : 12.2.0.1.49
OUI version       : 12.2.0.7.0
Log file location : /u01/app/oracle/product/19.3.0/dbhome_1/cfgtoollogs/opatch/opatch2026-03-24_21-52-56PM_1.log

Invoking prereq "checkconflictagainstohwithdetail"

Prereq "checkConflictAgainstOHWithDetail" passed.

OPatch succeeded.

Step 6: Apply the Patch

cd /u01/patches/1930/38632161
$ORACLE_HOME/OPatch/opatch apply

👉 Follow on-screen prompts and confirm with y

[oracle@ocptech 38632161]$ $ORACLE_HOME/OPatch/opatch apply
Oracle Interim Patch Installer version 12.2.0.1.49
Copyright (c) 2026, Oracle Corporation.  All rights reserved.


Oracle Home       : /u01/app/oracle/product/19.3.0/dbhome_1
Central Inventory : /u01/app/oraInventory
   from           : /u01/app/oracle/product/19.3.0/dbhome_1/oraInst.loc
OPatch version    : 12.2.0.1.49
OUI version       : 12.2.0.7.0
Log file location : /u01/app/oracle/product/19.3.0/dbhome_1/cfgtoollogs/opatch/opatch2026-03-24_22-01-53PM_1.log

Verifying environment and performing prerequisite checks...
OPatch continues with these patches:   38632161  

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/product/19.3.0/dbhome_1')


Is the local system ready for patching? [y|n]

Step 7: Run Datapatch

Start the database first:

sqlplus / as sysdba
STARTUP;
EXIT;

Then run:

$ORACLE_HOME/OPatch/datapatch -verbose
[oracle@ocptech ~]$ $ORACLE_HOME/OPatch/datapatch -verbose
SQL Patching tool version 19.30.0.0.0 Production on Tue Mar 24 23:38:23 2026
Copyright (c) 2012, 2026, Oracle.  All rights reserved.

Log file for this invocation: /u01/app/oracle/cfgtoollogs/sqlpatch/sqlpatch_21179_2026_03_24_23_38_23/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.30.0.0.0 Release_Update 260126024251: Installed
  SQL registry:
    No release update patches installed

Adding patches to installation queue and performing prereq checks...done
Installation queue:
  No interim patches need to be rolled back
  Patch 38632161 (Database Release Update : 19.30.0.0.260120(REL-JAN260130) (38632161)):
    Apply from 19.1.0.0.0 Feature Release to 19.30.0.0.0 Release_Update 260126024251
  No interim patches need to be applied

Installing patches...
Patch installation complete.  Total patches installed: 1

Validating logfiles...done
Patch 38632161 apply: SUCCESS
  logfile: /u01/app/oracle/cfgtoollogs/sqlpatch/38632161/28482211/38632161_apply_INFODB_2026Mar24_23_39_39.log (no errors)
SQL Patching tool complete on Tue Mar 24 23:51:03 2026

Step 8: Restart Listener

lsnrctl start

Step 9: Verify Patch Applied

$ORACLE_HOME/OPatch/opatch lspatches
[oracle@ocptech ~]$ $ORACLE_HOME/OPatch/opatch lspatches
38632161;Database Release Update : 19.30.0.0.260120(REL-JAN260130) (38632161)
29585399;OCW RELEASE UPDATE 19.3.0.0.0 (29585399)

OPatch succeeded.

Also, verify in the database:

set lin 300 pagesize 300
col ACTION_TIME for a30
col STATUS for a12
col DESCRIPTION for a44

SELECT * FROM dba_registry_sqlpatch;
OR
select PATCH_ID,ACTION_TIME,SOURCE_VERSION,TARGET_VERSION,STATUS,DESCRIPTION  FROM dba_registry_sqlpatch;

You can check it out our other post related to Oracle Database Patching here.

Leave a Reply

Your email address will not be published. Required fields are marked *

Scroll to Top