Skip Headers

# Oracle® Database

Patch 38523609 - Oracle JavaVM Component Release Update 19.30.0.0.260120

This document describes how you can install Patch 38523609 - Oracle JavaVM Component Release Update (OJVM RU) 19.30.0.0.260120 on your Oracle Database Release 19c.

This patch is now Oracle RAC Rolling installable. To use the Oracle RAC Rolling approach, out-of-place patching of the Oracle home is mandatory, as is the use of database services and SRVCTL to control instance and service operations. For further information, refer to MOS Note KB137197 RAC Rolling Install Process for the "Oracle JavaVM Component Database PSU/RU" (OJVM PSU/RU) Patches.

This patch is Database Vault installable. Review My Oracle Support Document KB653211 for details on how to apply this patch to a Database Vault environment.

To install this patch in a Data Guard Standby-First manner, refer to MOS Note KB137197 RAC Rolling Install Process for the "Oracle JavaVM Component Database PSU/RU" (OJVM PSU/RU) Patches.

Data Guard Standby-First Patch Apply is described in MOS Note KB137118 Oracle Patch Assurance - Data Guard Standby-First Patch Apply.

Starting 19.23, OJVM RU is FIPS compliant when installed with DBRU version 19.23 or later.

This document is accurate at the time of release. For any changes and additional information regarding this patch, see these related documents that are available at My Oracle Support (`http://support.oracle.com/`):

- Document KB858947 Oracle Database 19c Release Update January 2026 Known Issues

This document includes the following sections:

- Patch Information

- Prerequisites

- Installation

- Postinstallation

- Post Installation Instructions for Databases Created or Upgraded after Installation of OJVM Update in the Oracle Home

- Deinstallation

- Post Deinstallation

- Known Issues

- Documentation Accessibility

## 1.1 Patch Information

This patch is cumulative and includes the Database CPU program security content.

Beginning with 19.24 Jul2024, the OJVMRU patch contains the OJVM DST Time Zone patches. Applying this OJVM Release Update does not change the OJVM DST version in any of your databases. The OJVM DST patches are only copied into `$ORACLE_HOME/javavm/lib` and `$ORACLE_HOME/javavm/admin` directories and no OJVM DST upgrade is performed. You can decide to upgrade the OJVM DST version in your database to a newer OJVM DST version independently of applying the OJVMRU at any time. Be aware that this incurs downtime.

This OJVMRU contains the OJVM DST V43 and the prior versions.

If you plan to adjust the OJVM DST version in your databases, Oracle recommends adjusting it to the latest available OJVM DST version. Then follow the instructions in the Oracle 19c Oracle Database Upgrade Guide.

For more information on various DST patch releases, refer to My Oracle Support document KB151444 Primary Note DST FAQ: Updated DST Transitions and New Time Zones in Oracle RDBMS and OJVM Time Zone File Patches.

## 1.2 Prerequisites

Before you install or deinstall the patch, ensure that you meet the following requirements. For an Oracle RAC environment, meet these prerequisites on each of the nodes.

1. Read My Oracle Support Document KB139124 Oracle Recommended Patches -- "Oracle JavaVM Component Database PSU and Update" (OJVM PSU and OJVM Update) Patches.

2. Ensure that the Oracle Database on which you are installing the patch or from which you are rolling back the patch is Oracle Database Release 19c.

3. You must use the OPatch utility version 12.2.0.1.48 or later to apply this patch. Oracle recommends that you use the latest released OPatch version for 19c, which is available for download from My Oracle Support patch 6880880 by selecting "OPatch for DB 19.0.0.0.0" from the Select a Release dropdown.

   For information about OPatch documentation, including any known issues, see My Oracle Support Document KB133615 Primary Note For OPatch.

4. Ensure that you set the `ORACLE_HOME` environment variable to the Oracle home of the Oracle Database.

5. [Unix-specific] Ensure that the `$PATH` definition has the following executables: `make`, `ar`, `ld` and `nm`. The location of these executables depends on your operating system. On many operating systems, they are located in `/usr/ccs/bin`.

6. Ensure that you verify the Oracle Inventory because OPatch accesses it to install the patches. To verify the inventory, run the following command. If the command displays some errors, then contact Oracle Support and resolve the issue.

       $ opatch lsinventory

7. (Only for Installation) Maintain a location for storing the contents of the patch ZIP file. In the rest of the document, this location (absolute path) is referred to as `PATCH_TOP_DIR`. Extract the contents of the patch ZIP file to the location (`PATCH_TOP_DIR`) you have created above. To do so, run the following command:

       $ unzip -d <PATCH_TOP_DIR> p38523609_190000_<PLATFORM_NAME>.zip

8. (Only for Installation) Determine whether any currently installed interim patches conflict with the patch as shown below:

       $ cd <PATCH_TOP_DIR>/38523609
       $ opatch prereq CheckConflictAgainstOHWithDetail -ph ./

   The report will indicate the patches that conflict with this patch and the patches for which the current patch is a superset.

   Note:

   When OPatch starts, it validates the patch and ensures that there are no conflicts with the software already installed in the `ORACLE_HOME`. OPatch categorizes conflicts into the following types:

   - Conflicts with a patch already applied to the `ORACLE_HOME`, that is a subset of the patch you are trying to apply - In this case, continue with the patch installation because the new patch contains all the fixes from the existing patch in the `ORACLE_HOME`. The subset patch will automatically be rolled back prior to the installation of the new patch.

   - Conflicts with a patch already applied to the `ORACLE_HOME` - In this case, stop the patch installation and contact Oracle Support.

9. Ensure that you shut down all the services running from the Oracle home.

   For a Non Oracle RAC environment, shut down all databases and listeners associated with the Oracle home that you are updating. For more information, see Oracle Database Administrator's Guide.

   If you can apply this patch to an Oracle RAC environment using an out-of-place approach, follow the instructions described for an Oracle RAC Rolling installation in Note KB137197. Shutdown of database services may not be required for this case. Otherwise for an Oracle RAC environment, shut down all the services (database, ASM, listeners, nodeapps, and CRS daemons) running from the Oracle home on all the nodes you want to patch. After all nodes are patched, start all services. OPatch is used on only one node at a time.

## 1.3 Installation

To install the patch, follow these steps.

1. Set your current directory to the directory where the patch is located and then run the OPatch utility by entering the following commands:

       $ cd <PATCH_TOP_DIR>/38523609

2. Install the patch by running the following command:

       $ opatch apply

   If apply fails for make target `jox_refresh_knlopt` when applying the patch to the database home, see Issue #1 in Known Issues for more information.

3. Verify whether the patch has been successfully installed by running the following command:

       $ opatch lsinventory

4. Start the services from the Oracle home.

5. If there are errors, see Known Issues.

## 1.4 Postinstallation

Perform the following postinstallation steps described in Loading Modified SQL Files Into the Database.

### 1.4.1 Loading Modified SQL Files Into the Database

To perform the postinstallation, follow these steps:

1. The following steps load modified SQL files into the database.

   Datapatch is run to complete the post-install SQL deployment for the Update. For further details about Datapatch, including Known Issues and workarounds to common problems, see: Datapatch: Database 12c or later Post Patch SQL Automation (Doc ID KB148594).

   1. For each separate database running on the same shared Oracle home being patched, run the `datapatch` utility as described in Table 1.

      Table 1 Steps to Run the datapatch Utility for Non-CDB Database Versus Single or Multitenant (CDB or PDB) Database

      Steps | Non-CDB Database | Steps | Single or Multitenant (CDB or PDB) Database
      --- | --- | --- | ---
      1 | `% sqlplus /nolog` | 1 | `% sqlplus /nolog`
      2 | `SQL> Connect / as sysdba` | 2 | `SQL> Connect / as sysdba`
      3 | `SQL> startup` | 3 | `SQL> startup`
      4 | `SQL> quit` | 4 | `SQL> alter pluggable database all` `open` `;`Foot 1
      5 | `% cd $ORACLE_HOME/OPatch` | 5 | `SQL> quit`
      6 | `% ./datapatch -verbose` | 6 | `% cd $ORACLE_HOME/OPatch`
      |  | 7 | `% ./datapatch -verbose`

      Footnote 1 It is recommended that the post-installation step be run on all pluggable databases. However, the command, SQL> ALTER PLUGGABLE DATABASE <pdb_name> OPEN, could be substituted to only open certain pluggable databases (PDBs) in the single or multitenant database. Doing so results in the post-installation step only being run on the multitenant container database (CDB) and opened PDBs. To update a pluggable database at a later date (skipped or newly plugged in), open the database using the ALTER PLUGGABLE DATABASE command mentioned previously and rerun the Datapatch utility. See My Oracle Support Document KB150931 Multitenant Unplug/Plug Best Practices for more information about the procedure for unplugging or plugging with different patch releases (in both directions).

      The Datapatch utility runs the necessary apply scripts to load the modified SQL files into the database. An entry is added to the dba_registry_sqlpatch view reflecting the patch application. In the dba_registry_sqlpatch view, verify that the Status for APPLY is SUCCESS. For any other Status, refer to My Oracle Support Document KA1374 Troubleshooting Assistant: 12c Datapatch Issues.

   2. Check the following log files in `$ORACLE_BASE/cfgtoollogs/sqlpatch/38523609/<unique patch ID>` for errors:

          38523609_apply_<database SID>_<CDB name>_<timestamp>.log

      where `database SID` is the database SID, `CDB name` is the name of the multitenant container database, and `timestamp` is of the form YYYYMMMDD_HH_MM_SS.

2. After installing the SQL portion of the patch, some packages could become INVALID. This will get recompiled upon access or you can run `utlrp.sql` to get them back into a VALID state.

       cd $ORACLE_HOME/rdbms/admin
       sqlplus /nolog
       SQL> CONNECT / AS SYSDBA
       SQL> @utlrp.sql

3. If there are errors, see Known Issues.

## 1.5 Post Installation Instructions for Databases Created or Upgraded after Installation of OJVM Update in the Oracle Home

You must execute the steps in Postinstallation for any new database. There are no actions required for databases that have been upgraded.

## 1.6 Deinstallation

Ensure to follow the Prerequisites as described in Prerequisites. To deinstall the patch, follow these steps. For an Oracle RAC environment, perform these steps on each node of the cluster, one at a time:

1. Deinstall the patch by running the following command:

       $ opatch rollback -id 38523609

2. Start the services from the Oracle home.

3. Ensure that you verify the Oracle Inventory and compare the output with the one run before the patch installation and re-apply any patches that were rolled back as part of this patch apply. To verify the inventory, run the following command:

       $ opatch lsinventory

## 1.7 Post Deinstallation

Perform the following post deinstallation steps described in Loading Modified SQL Files Into the Database.

### 1.7.1 Loading Modified SQL Files Into the Database

The following steps load modified SQL files into the database.

1. For each separate database running on the same shared Oracle home being patched, run the `datapatch` utility as described in Table 2.

   Table 2 Steps to Run the datapatch Utility for Non-CDB Database Versus Single or Multitenant (CDB or PDB) Database

   Steps | Non-CDB Database | Steps | Single or Multitenant (CDB or PDB) Database
   --- | --- | --- | ---
   1 | `% sqlplus /nolog` | 1 | `% sqlplus /nolog`
   2 | `SQL> Connect / as sysdba` | 2 | `SQL> Connect / as sysdba`
   3 | `SQL> startup` | 3 | `SQL> startup`
   4 | `SQL> quit` | 4 | `SQL> alter pluggable database all` `open` `;`Foot 1
   5 | `% cd $ORACLE_HOME/OPatch` | 5 | `SQL> quit`
   6 | `% ./datapatch -verbose` | 6 | `% cd $ORACLE_HOME/OPatch`
   |  | 7 | `% ./datapatch -verbose`

   Footnote 1 It is recommended that the post-installation step be run on all pluggable databases. However, the command, SQL> ALTER PLUGGABLE DATABASE <pdb_name> OPEN, could be substituted to only open certain pluggable databases (PDBs) in the single or multitenant database. Doing so results in the post-installation step only being run on the multitenant container database (CDB) and opened PDBs. To update a pluggable database at a later date (skipped or newly plugged in), open the database using the ALTER PLUGGABLE DATABASE command mentioned previously and rerun the Datapatch utility. See My Oracle Support Document KB150931 Multitenant Unplug/Plug Best Practices for more information about the procedure for unplugging or plugging with different patch releases (in both directions).

   The Datapatch utility runs the necessary rollback scripts. An entry is added to the dba_registry_sqlpatch view reflecting the patch application. In the dba_registry_sqlpatch view, verify that the Status for ROLLBACK is SUCCESS. For any other Status, refer to My Oracle Support Document KA1374 Troubleshooting Assistant: 12c Datapatch Issues.

2. Check the following log files in `$ORACLE_BASE/cfgtoollogs/sqlpatch/38523609/<unique patch ID>` for errors:

       38523609_rollback_<database SID>_<CDB name>_<timestamp>.log

   where `database SID` is the database SID, `CDB name` is the name of the multitenant container database, and `timestamp` is of the form YYYYMMMDD_HH_MM_SS.

3. After installing the SQL portion of the patch, some packages could become INVALID. This will get recompiled upon access or you can run `utlrp.sql` to get them back into a VALID state.

       cd $ORACLE_HOME/rdbms/admin
       sqlplus /nolog
       SQL> CONNECT / AS SYSDBA
       SQL> @utlrp.sql

4. If there are errors, see Known Issues.

## 1.8 Known Issues

For information about OPatch issues, see My Oracle Support Document KB133615 Primary Note For OPatch.

For issues documented after the release of this patch, see My Oracle Support Document KB858947 Oracle Database 19c Release Update January 2026 Known Issues.

Other issues are as follows.

Issue 1

  Problem: An `ORA-04068` error may appear in the Database alert log file when datapatch is run.

  During a successful run of the datapatch tool with no errors indicated, an `ORA-04068` error may appear in the Database alert log file:

      ORA-04068: existing state of packages has been discarded

  Workaround: This is a retryable error in datapatch itself. If a patch installation receives it, then datapatch will automatically retry the operation once, before reporting it as a failure. The fact that datapatch did not report the retry and ran successfully with no errors confirms that the patch was successfully installed, and that another Oracle background process received the error. The `ORA-04068` error should be ignored as long as datapatch runs successfully with no errors indicated (possibly after an automatic retry).

## 1.9 Documentation Accessibility

For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website at `http://www.oracle.com/pls/topic/lookup?ctx=acc&id-docacc`.

Access to Oracle Support

Oracle customers that have purchased support have access to electronic support through My Oracle Support. For information, visit `http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info` or visit `http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs` if you are hearing impaired.

Oracle Database Patch 38523609 - Oracle JavaVM Component Release Update 19.30.0.0.260120

Copyright © 2006, 2026, Oracle and/or its affiliates.

This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.

The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.

If this is software, software documentation, data (as defined in the Federal Acquisition Regulation), or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, then the following notice is applicable:

U.S. GOVERNMENT END USERS: Oracle programs (including any operating system, integrated software, any programs embedded, installed, or activated on delivered hardware, and modifications of such programs) and Oracle computer documentation or other Oracle data delivered to or accessed by U.S. Government end users are "commercial computer software," "commercial computer software documentation," or "limited rights data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, reproduction, duplication, release, display, disclosure, modification, preparation of derivative works, and/or adaptation of i) Oracle programs (including any operating system, integrated software, any programs embedded, installed, or activated on delivered hardware, and modifications of such programs), ii) Oracle computer documentation and/or iii) other Oracle data, is subject to the rights and limitations specified in the license contained in the applicable contract. The terms governing the U.S. Government's use of Oracle cloud services are defined by the applicable contract for such services. No other rights are granted to the U.S. Government.

This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.

Oracle®, Java, MySQL, and NetSuite are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Intel and Intel Inside are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Epyc, and the AMD logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.

This software or hardware and documentation may provide access to or information about content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services unless otherwise set forth in an applicable agreement between you and Oracle. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services, except as set forth in an applicable agreement between you and Oracle.