Patch Oracle databases

Oracle Database Patch Fixlets are specific to OS, Oracle version, and specific patch level such as OracleDB 19c on Linux - 2023-10 Patch. (There are also Patch Fixlet variants specific to ASM and RAC). When a Patch Fixlet is deployed to a database server, it attempts to patch all the targeted databases on that server; for example, OracleDB 19c on Linux - 2023-10 Patch will patch all 19c databases listed in the server's oratab file to 2023-10. There are patch Fixlets specific to OJDK and independent Fixlets. For example, SDB - OracleDB 19c on Linux - PSU 2024-07 Patch, SDB - OracleDB 19c on Linux - OJVM 2024-07 Patch, and SDB - OracleDB 19c on Linux - OJDK 2024-07 Patch.

Before performing prechecks on PSU and OJVM Integrated or independent patch Fixlets, make sure that the patch list Fixlet is deployed for each endpoint.

Important: The recommended order of applying patches to avoid conflicts is as follows:
  1. PSU
  2. OJVM
  3. OJDK.
Oracle DB patching can be performed using a Integrated PSU and JVM or with a independent Fixlets that includes PSU, JVM, and OJDK.
PSU and OJVM Integrated patch Fixlet
The PSU and OJVM patch Fixlets performs the following activities:
  1. Downloads the PSU and OJVM combination patch file and the current OPatch file from the BigFix server, if you haven't downloaded them already during a precheck action or a previous failed patch action.
  2. Reruns all the same prechecks as the corresponding precheck Fixlet.
  3. Applies the PSU and OJVM binary patches and verifies that they were successfully applied.
  4. Applies the PSU and OJVM database patches and verifies that they were successfully applied for grid/ASM/RAC patches. This action runs during the binary patch phase by the Oracle autopatch tool.
    Note: In the independent Fixlet, only one patch is applied at a time; either the PSU or the OJVM patch.
  5. Runs some basic post-patch database consistency checks, such as verifying that the run didn't result in invalid dba_objects or dba_registry rows.
  6. Removes the patch downloads if the patch was successful.
Independent patch Fixlet
This Independent patch Fixlet performs the following activities:
  1. Downloads the required patch file and the current OPatch file from the BigFix server, if you haven't downloaded them already during a precheck action or a previous failed patch action.
  2. The OJDK patch file should be downloaded along with the OPatch for the OJDK Fixlet.
  3. Applies the PSU and OJVM binary patches and verifies that they were successfully applied.
  4. Runs some basic post-patch database consistency checks, such as verifying that the run didn't result in invalid dba_objects or dba_registry rows.
  5. Removes the patch downloads if the patch was successful.

A successful patch action reports a Completed status. If any of the preceding activities fails, the patch action reports a Failed status. If you activated the Oracle patching results analysis, the Oracle Patching Failed property reports a summary of the patching activities that failed.

The <client installed folder>/BESClient/ORACLE folder contains files that can help you troubleshoot an unsuccessful patch, including the PATCH-<OracleVersion>.log (e.g. PATCH-19.0.0.0.log) file. This log file, such as PATCH-19.0.0.0.log, provides a detailed record of the most recent patch action for database version 19.0.0.0.

The <client installed folder>/BESClient/ORACLE folder contains files that can help you troubleshoot an unsuccessful patch, including the independent and OJDK files, which is a detailed log of the latest patch action as <PATCHTYPE>-<oracleversion>.log (e.g. PSU-PATCH-19.0.0.0.log).

The corresponding rollback Fixlet becomes applicable after the patch Fixlet deployment.

Important: The patch Fixlets will only patch the databases that they know about. They only know about the databases listed in the oratab file. Only the databases explicitly mentioned in the oratab file will be patched.