Wednesday, 29 July 2026

Apply Oracle 19c Patch 19.30 on Linux

 

TECHNICAL IMPLEMENTATION GUIDE 

ORACLE DATABASE 19c

RELEASE UPDATE

19.30

Patch Implementation on Linux

A practical, step-by-step guide based on a live development environment implementation.

HANDS-ON IMPLEMENTATION: Oracle Database 19c — Release Update 19.30

Oracle Database Administration  |  Linux  |  Patch Management

Apply Oracle 19c Patch 19.30 on Linux

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

●        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.

PATCH_ID ACTION_TIME                         SOURCE_VERSION TARGET_VERSION STATUS

DESCRIPTION

-----------------------------------------------------------------------------------

29517242 29-MAR-26 01.17.15.506159 PM        19.1.0.0.0     19.3.0.0.0     SUCCESS

Database Release Update : 19.3.0.0.190416 (29517242)

Update OPatch Version

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

[oracle@ardb dbhome_1]$ unzip p6880880_190000_1220146_Linux-x86-64_2.zip

Check OPatch Version now:

[oracle@ardb OPatch]$ ./opatch version

OPatch Version: 12.2.0.1.46

 

OPatch succeeded.

Step 2: Prepare Patch Directory

Patches]$ mkdir -p Patches

Patches]$ cd Patches

Patches]$ unzip p37642901_190000_1927_DB_Linux-x86-64_2.zip

Step 3: Stop Database and Listener

sqlplus / as sysdba

SHUTDOWN IMMEDIATE;

EXIT;

lsnrctl stop

Step 4: Check Current Patch Level

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

[oracle@Primary 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.

[oracle@Primary OPatch]$

Step 5: Run Conflict Check

[oracle@goldstardb 37642901]$ pwd

/u01/Patches/37642901

[oracle@goldstardb 37642901]$ $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir .

Oracle Interim Patch Installer version 12.2.0.1.46

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.46

OUI version       : 12.2.0.7.0

Log file location : /u01/app/oracle/product/19.3.0/dbhome_1/cfgtoollogs/opatch/opatch2026-04-30_14-06-29PM_1.log

 

Invoking prereq "checkconflictagainstohwithdetail"

 

Prereq "checkConflictAgainstOHWithDetail" passed.

 

OPatch succeeded.

[oracle@goldstardb 37642901]$

$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir .

Step 6: Apply the Patch

cd /u01/Patches/37642901

$ORACLE_HOME/OPatch/opatch apply

[oracle@ardb 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]

Note: Before applying the patch, disable all custom SYS triggers. Otherwise, you will get an error.

Step 7: Run Datapatch

Start the database first:

sqlplus / as sysdba

STARTUP;

EXIT;

Then run:

$ORACLE_HOME/OPatch/datapatch -verbose

Output:

[oracle@tardb ~]$ $ORACLE_HOME/OPatch/datapatch -verbose

SQL Patching tool version 19.30.0.0.0 Production on Wed Apr 29 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_04_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 Wed Apr 29 23:51:03 2026

If you get any error and want to filter all errors, run the following command:

grep -n "ORA-" \

/u01/app/oracle/cfgtoollogs/sqlpatch/37642901/27123174/37642901_apply_GSTARDB_GSTARPDB1_2026Apr28_17_21_03.log

Run datapatch -verbose to ignore errors if you get any:

./datapatch -ignorable_errors=ORA-01403,ORA-06512

 

Or

 

cd $ORACLE_HOME/OPatch

./datapatch -verbose -pdbs GSTPDB1 -ignorable_errors=ORA-01403,ORA-06512

Step 8: Restart Listener

lsnrctl start

Step 9: Verify Patch Applied

$ORACLE_HOME/OPatch/opatch lspatches

Output:

[oracle@stardb ~]$ $ORACLE_HOME/OPatch/opatch lspatches

37642901;Database Release Update : 19.27.0.0.250415 (37642901)

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;

Output like:

SQL> select PATCH_ID,ACTION_TIME,SOURCE_VERSION,TARGET_VERSION,STATUS,DESCRIPTION FROM dba_registry_sqlpatch;

 

PATCH_ID ACTION_TIME                    SOURCE_VERSION TARGET_VERSION STATUS   DESCRIPTION

-------------------------------------------------------------------------------------------

29517242 04-DEC-23 09.44.05.491773 PM   19.1.0.0.0     19.3.0.0.0     SUCCESS  Database Release Update : 19.3.0.0.190416 (29517242)

 

37642901 28-APR-26 03.46.43.520484 PM   19.3.0.0.0     19.27.0.0.0    SUCCESS  Database Release Update : 19.27.0.0.250415 (37642901)

 

No comments: