How to Upgrade Oracle 19.3 to Oracle 19.9


In this article, we will see how to upgrade your Oracle 19.3 installation to Oracle 19.9. I have tried to cover some common issues at the end of this guid.


The following files are required for upgrading from Oracle 19.3 to Oracle 19.9.

  1. - Opatch version (Anything greater that is enough)
  2. - Oracle 19.9 Patch file.

Step 1: OPatch Version Check and Upgrade

To install Oracle 19.9 patch, we will use an utility called opatch which comes with oracle installation by default. It is present in $ORACLE_HOME/OPatch directory.


Check the version of opatch

./opatch version

OPatch Version:
OPatch succeeded.

Opatch has to be upgraded to or later to install Oracle 19.9 patch. Firstly lets move the existing $ORACLE_HOME\Opatch (to roll back if something goes wrong) to a backup location.

mv OPatch/ Opatch_backup

Now unzip the contents of to $ORACLE_HOME directory.

unzip -d $ORACLE_HOME

This will re-create the OPatch folder and extract the files to it.

Check the version of new opatch

./opatch version

OPatch Version:
OPatch succeeded.

We are good to go if the version is equal to or greater that

Step 2 : Shutdown Database and Listener

Before beginning to install the patch lets stop our Database and Listener

Check the lsnrctl status before shutting down.

lsnrctl status

LSNRCTL for Linux: Version - Production on 01-JUN-2021 04:59:25

Copyright (c) 1991, 2019, Oracle.  All rights reserved.

Alias                     LISTENER
Version                   TNSLSNR for Linux: Version - Production
Start Date                29-APR-2021 10:09:23
Uptime                    32 days 18 hr. 50 min. 2 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /opt/oracle/product/19c/dbhome_1/network/admin/listener.ora
Listener Log File         /opt/oracle/diag/tnslsnr/sgfrhel8oracle/listener/alert/log.xml
Listening Endpoints Summary...
Services Summary...
Service "DEMODB1" has 1 instance(s).
  Instance "DEMODB1", status READY, has 1 handler(s) for this service...
Service "DEMODB1XDB" has 1 instance(s).
  Instance "DEMODB1", status READY, has 1 handler(s) for this service...
The command completed successfully

Login to sqlus as dba and shutdown the database.

sqplus / as sysdba

In sqplus console

shutdown immediate

Database closed.
Database dismounted.
ORACLE instance shut down.

To stop listener

lsnrctl stop

Step 3: Backup $ORACLE_HOME


Step 4: Apply patch

Unzip and run the Opatch utility inside the extracted folder.

cd 31771877/
$ORACLE_HOME/OPatch/opatch apply

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

Oracle Home       : /opt/oracle/product/19c/dbhome_1
Central Inventory : /opt/oracle/oraInventory
   from           : /opt/oracle/product/19c/dbhome_1/oraInst.loc
OPatch version    :
OUI version       :
Log file location : /opt/oracle/product/19c/dbhome_1/cfgtoollogs/opatch/opatch2021-06-01_05-32-17AM_1.log

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

Do you want to proceed? [y|n]
User Responded with: Y
All checks passed.

Please shutdown Oracle instances running out of this ORACLE_HOME on the local system.
(Oracle Home = '/opt/oracle/product/19c/dbhome_1')

Is the local system ready for patching? [y|n]
User Responded with: Y
Backing up files...
Applying interim patch '31771877' to OH '/opt/oracle/product/19c/dbhome_1'
ApplySession: Optional component(s) [, ] , [ oracle.rdbms.ic, ] , [ oracle.rdbms.tg4db2, ] , [ oracle.tfa, ] , [ oracle.options.olap.awm, ] , [, ] , [ oracle.xdk.companion, ] , [ oracle.oraolap.mgmt, ] , [, ] , [ oracle.options.olap, ] , [ oracle.assistants.usm, ] , [ oracle.assistants.asm, ] , [ oracle.sqlj, ] , [ oracle.jdk, ]  not present in the Oracle Home or a higher version is found.

Patching component oracle.rdbms.rsf,

Patching component oracle.rdbms,

Patching component oracle.rdbms.util,

Patching component oracle.assistants.acf,

Patching component oracle.assistants.deconfig,

Patching component oracle.assistants.server,

Patching component oracle.buildtools.rsf,

Patching component oracle.ctx,

Patching component oracle.dbjava.ic,

Patching component oracle.dbjava.jdbc,

Patching component oracle.dbjava.ucp,

Patching component oracle.dbtoolslistener,

Patching component oracle.ldap.rsf,

Patching component,

Patching component oracle.oracore.rsf,

Patching component oracle.rdbms.dbscripts,

Patching component oracle.rdbms.deconfig,

Patching component oracle.sdo,

Patching component oracle.sdo.locator.jrf,

Patching component oracle.sqlplus,

Patching component oracle.usm.deconfig,

Patching component,

Patching component oracle.oraolap,

Patching component oracle.precomp.rsf,

Patching component oracle.javavm.client,

Patching component oracle.precomp.common.core,

Patching component,

Patching component oracle.rdbms.scheduler,

Patching component oracle.ctx.atg,

Patching component oracle.marvel,

Patching component oracle.oraolap.dbscripts,

Patching component oracle.ovm,

Patching component,

Patching component oracle.ctx.rsf,

Patching component oracle.rdbms.lbac,

Patching component oracle.rdbms.oci,

Patching component oracle.odbc,

Patching component oracle.rdbms.rman,

Patching component oracle.nlsrtl.rsf,

Patching component oracle.rdbms.install.plugins,

Patching component oracle.rdbms.drdaas,

Patching component oracle.ldap.rsf.ic,

Patching component,

Patching component,

Patching component oracle.ons,

Patching component oracle.rdbms.dv,

Patching component oracle.javavm.server,

Patching component oracle.xdk,

Patching component oracle.ldap.owm,

Patching component oracle.dbdev,

Patching component oracle.rdbms.install.common,

Patching component oracle.sdo.locator,

Patching component oracle.duma,

Patching component oracle.sqlplus.ic,

Patching component oracle.xdk.rsf,

Patching component,

Patching component oracle.rdbms.rsf.ic,

Patching component oracle.precomp.common,

Patching component oracle.precomp.lang,

Patching component oracle.jdk,
Patch 31771877 successfully applied.
Sub-set patch [29517242] has become inactive due to the application of a super-set patch [31771877].
Please refer to Doc ID 2161861.1 for any possible further required actions.
Log file location: /opt/oracle/product/19c/dbhome_1/cfgtoollogs/opatch/opatch2021-06-01_05-32-17AM_1.log

OPatch succeeded.

Step 5: Start Listener and Database

Start the listener control

lsnrctl start

Login to sqlplus console and start the database

sqplus / as sysdba

Step 6: Verify Patch Installation

To view the details of the patch installed, lets use the opatch tool with list patch parameter.

./opatch lspatches

31771877;Database Release Update : (31771877)
29585399;OCW RELEASE UPDATE (29585399)

You can also view the version while logging into sqplus console.

sqlplus / as sysdba

SQL*Plus: Release - Production on Tue Jun 1 07:27:23 2021

Copyright (c) 1982, 2020, Oracle.  All rights reserved.

Connected to:
Oracle Database 19c Enterprise Edition Release - Production

Common Issues

  1. Prerequisite check "CheckActiveFilesAndExecutables" failed


Oracle 19.9 has introduces many new features in this relase like Transparent Database Encryption (TDE).

Although Oracle 19.9 patch is not publically available for free, paid customers will be able to download the patch from Oracle official repository. If it is available for you, I recommend you to upgrade.



I am a self mentored web enthusiast who likes to inspect element everything I see on the web.