Previous Next JavaScript must be enabled to correctly display this content

## 8 Patching Oracle Database Appliance

To keep Oracle Database Appliance running with the latest software, check for and apply Oracle Database Appliance patch bundles when they are released.

- About Patching Oracle Database Appliance
  Use the Oracle Database Appliance Patch Bundle to patch your appliance.
- About Rolling Back Updates
  Understand the changes to the patching procedure in this Oracle Database Appliance release.
- About Applying Monthly Updates on Oracle Database Appliance
  Use the Oracle Database Appliance monthly update to update your appliance. You have the option of applying the monthly update with or without a restart of the system.
- About Patching Prechecks
  Patching prechecks are designed to detect and flag problems that might be encountered during patching.
- About Enabling NUMA on Oracle Database Appliance
  Understand how you can enable NUMA on bare metal, KVM, and DB Systems on Oracle Database Appliance.
- Minimizing Downtime When Patching Oracle Database Appliance
  Understand best practices to minimize downtime when you apply patches to your Oracle Database Appliance deployment.
- About Updating Databases and Database Homes
  Understand how to update a database and database home using either the Browser User Interface or `odacli` commands.
- Updating ESTES-EXT Firmware Before Patching Oracle Database Appliance Server
  Update TMT (Task Management Reset Type) for Estes-Ext before you patch the Oracle Database Appliance server.
- Patching Oracle Database Appliance Bare Metal Systems Using the Command-Line
  Follow these steps to apply patches to your Oracle Database Appliance bare metal deployment and existing Oracle Database homes, using ODACLI.
- Patching Oracle Database Appliance DB Systems Using the Command-Line
  Follow these steps to apply patches to your Oracle Database Appliance DB system deployment and existing Oracle Database home in the DB system, using CLI commands.
- Patching Oracle Database Appliance Bare Metal Systems Using the Browser User Interface
  Upload the Oracle Database Appliance Server Patch to the patch repository, deploy the patch bundle, and then update the DCS admin, DCS components, server, and storage using BUI.
- Patching Oracle Database Appliance DB Systems Using the Browser User Interface
  Upload the Oracle Database Appliance Server Patch to the patch repository, deploy the patch bundle using the Browser User Interface, and then update the DCS admin and components using CLI commands.
- Updating Oracle Database Appliance Repository with Database Clone Files For Bare Metal Systems
  Follow these steps to update the Oracle Database Appliance repository with Oracle Database clone files for the latest release using CLI commands.
- Patching Databases Using ODACLI Commands or the BUI
  Use ODACLI commands or the Browser User Interface to patch databases to the latest release in your deployment.
- Patching Existing Database Homes Using ODACLI or the BUI
  Use ODACLI or BUI to patch database homes in your deployment to the latest release.
- Patching Non-Provisioned Oracle Database Appliance Systems
  Oracle Database Appliance supports patching of non-provisioned single-node or high availablity systems by running `odacli update-servercomponents` command.
- Applying Additional Patches and Updates on Bare Metal Systems
  Configure additional patch repositories and patch your operating system and databases to ensure that your deployment has the latest updates and security fixes.
- Cleaning Up the Patch Repository
  Use the Browser User Interface or Command Line Interface to delete obsolete or old patches from the repository.
- About Upgrading Oracle Databases on Oracle Database Appliance
  Understand how to upgrade databases using either the Browser User Interface or `odacli` commands.
- Setting Dynamic Default Parameters
  You can set dynamic default parameters using the BUI.

### About Patching Oracle Database Appliance

Use the Oracle Database Appliance Patch Bundle to patch your appliance.

Patches offer new features and may improve the functionality of existing features. They also include security fixes for Oracle Linux and Oracle Database Appliance software.

About Out of Place Patching

Oracle Database Appliance uses the out-of-place patching model. This means that a new software Oracle home is created when patching an Oracle Grid Infrastructure or Oracle Database home. The patches for Oracle Grid Infrastructure and Oracle Database are available as images.

About MySQL Server and DCS Patching

Starting with Oracle Database Appliance release 19.10, DCS framework uses MySQL server as its metadata store. MySQL server is automatically installed and configured, during provisioning, when creating the appliance. Similarly, during patching, the `odacli update-dcscomponents` command automatically updates MySQL server. MySQL server processes do not run with `root` operating system user account. Instead, they run with a new operating system user account called `odamysql`. Note that the `odamysql` operating system user is created only for ownership purposes and it owns only the MySQL directories. The `odamysql` operating system user cannot log into the appliance. The `odamysql` operating system user account for MySQL ensures role separation between the user owning Oracle databases on the appliance and the user who owns the metadata used for DCS operations.

About Oracle Database Appliance Patch Bundles

The Oracle Database Appliance Patch Bundle contains the latest patches for Oracle Linux, DCS Admin, DCS Components, Oracle Appliance Manager, Oracle ILOM, firmware, enhancements, and fixes.

The Oracle Database Appliance Release Notes include information about the latest Oracle Database Appliance patch bundle and a list of component versions in the patch bundle. Oracle recommends updating the appliance with the latest Oracle Database Appliance software version to take advantage of new features, fixes, and the latest supported component versions. See Oracle Database Appliance Release Notes for the update paths.

Caution:

Do not patch Oracle Database Appliance using generic patches for Oracle Grid Infrastructure or Oracle Linux. Also do not use individual infrastructure patches, such as firmware patches. You must only use Oracle Database Appliance patches. If you use patches that are not intended for Oracle Database Appliance, or if you use OPatch, or a similar patching tool, then the metadata maintained by Oracle Database Appliance is not updated, and you cannot complete future patch updates. If you apply out-of-cycle Oracle Database Release Update (RU), then ensure that you also follow the recommendations described in the Readme for the RU.

The patch bundle provides all relevant patches for the entire system, including the following:

- Oracle Database Appliance server

- BIOS

- Hardware drivers

- Hardware Management Pack (HMP) and firmware drivers for various components

- Oracle Appliance Manager

- Oracle Linux

- Java Runtime Environment (JRE)

- Oracle Integrated Lights Out Manager (Oracle ILOM)

- Oracle Auto Service Request (Oracle ASR)

- Oracle Intelligent Platform Management Interface (Oracle IPMI)

- Network Card patches for relevant hardware models

About Updating Oracle Linux RPMs

While not recommended, you can update some Oracle Linux RPMs for Oracle Database Appliance. Do not update or customize Oracle Linux kernel, Oracle Optimal Flexible Architecture, Oracle InfiniBand, or related software. Other software may be installed, updated, or customized. However, the Oracle Database Appliance update may not carry newer version dependencies of customized components. Therefore, you might be required to remove and subsequently reapply site-specific changes to successfully update Oracle Database Appliance in the future.

Note that from Oracle Database Appliance release 19.29 onwards, you can apply monthly patches to address critical CVEs related to Oracle Linux. Refer to Oracle Database Appliance Release Notes for more details on these monthly patches.

Caution:

For Oracle Database Appliance, do not update the following:

- Oracle Linux Kernel (`kernel`)

- Oracle Optimal Flexible Architecture (`ofa`)

- Oracle RDMA packages (`oracle-rdma-release`)

For storage, do not apply any RPM updates.

Parent topic: Patching Oracle Database Appliance

### About Rolling Back Updates

Understand the changes to the patching procedure in this Oracle Database Appliance release.

Rollback of updates on failure

Any failure during patching of Oracle Database Appliance may result in the system being in an inconsistent or partially-patched state and in some cases, can impact the database services running on the system. Starting with Oracle Database Appliance release 19.30, in case of a failure during the patching operation `odacli update-servercomponents` on the bare metal system, you can rollback the system to the state that existed before patching it. Usage of this rollback capability is at your discretion. You can exercise one of the following options:

- Specify an additional option in the patching command `odacli update-servercomponents` on the bare metal system to indicate that in case of a failure, the system must be rolled back to the pre-update state that existed before the start of the patching operation. Then contact Oracle Support to get the issue fixed and retry the patching command. Before running the rollback, diagnostic logs are generated and stored at `/opt/oracle/dcs/repo/diagcollect/job_ID.zip`. These logs are stored in a separate volume and hence can be reviewed post rollback to identify the root cause of the job failure. Note that Oracle Database Appliance uses the ODABR utility to rollback updates in case of a failure during the patching operation.
- Perform the patching operation `odacli update-servercomponents` on the bare metal system without specifying the option for rollback. At that point of failure, the system may be in an inconsistent or partially usable state. Contact Oracle Support to fix the issue and then retry the patching command to complete the patching operation.

Oracle Database Appliance Backup and Recovery (ODABR) is a utility, which enables backup and recovery of an Oracle Database Appliance node using consistent and incremental system backups on the bare metal system. DCS software uses Linux Logical Volume Manager (LVM) snapshots created by ODABR to restore the system to the pre-update state. Note that ODABR is available on Oracle Database Appliance bare metal systems only, and not on DB systems.

The system node backup includes following file systems:

- `/`: Root file system
- `/boot`: Boot partition
- `/opt`: file system on which DCS software is installed
- `/u01`: file system on which Oracle Grid Infrastructure is installed
- Oracle Grid Infrastructure Oracle Cluster Registry (OCR) file

Applicability of Rollback for Patching Commands

DCS Admin Update and DCS Components Update:

- The rollback for these operations is not supported.

Prepatch Report for Server Components:

- Use the `--rollback-onfailure,-rf` option to run additional prechecks related to rollback of server components. Though optional, it is recommeded that you run prechecks with the rollback option to assess Oracle Database Appliance preparedness for a possible rollback, should such a situation arise.
- Even if you do not specify the `--rollback-onfailure,-rf` option in the `odacli create-prepatchreport` command, you can specify the `--rollback-onfailure,-rf` option when you run the patching operation of server components, and this ensures the rollback-specific checks are run at that time.
- The rollback feature is applicable for only Oracle Database Appliance bare metal system.
- You can specify the rollback option in the prepatch report when patching to Oracle Database Appliance release 19.30.

    [root@node1 ~]# odacli create-prepatchreport -sc -rf -v 19.30.0.0.0
    ...
    __ROLLBACK__
    Validate ODABR is installed     Success   Validated ODABR is installed
    Validate ODABR snapshots exist  Success   No ODABR snaps found on the node.
    Validate LVM free space         Success   LVM free space: 317.0(GB) on node:
                                              odahan1
    Validate command execution      Success   Validated command execution

See Oracle Database Appliance Command Line Reference for more details about using the `--rollback-onfailure,-rf` option with the `odacli create-prepatchreport` command.

Server Components Update:

- The rollback for this operation is also based on the usage of ODABR utility.
- Use the `--rollback-onfailure,-rf` option if you want rollback to be initiated on failure of this patching operation.
- The rollback option for this operation can only be performed when you specify the `--node-name` or `--local` options. ODABR-based snapshot as well as the rollback is only performed on the node that is being patched.
- The rollback feature is applicable only for Oracle Database Appliance bare metal systems.
- No firmware updates such as local disks or controller are rolled back in case the `--rollback-onfailure,-rf` option is specified when you run this operation.
- This rollback capability is available when patching to Oracle Database Appliance release 19.30.

    [root@odan1 ~]# odacli describe-job -i cf9431be-f3f4-4b89-8f48-22f85fefce19

    Task Name                                Node Name                 Start Time                               End Time                                 Status
    ---------------------------------------- ------------------------- ---------------------------------------- ---------------------------------------- ----------------
    ...
    ...
    Create DCS metadata volume               odan1          February 19, 2026 11:15:47 IST           February 19, 2026 11:15:47 IST           Success
    Create ODA Backup Recovery snapshot      odan1          February 19, 2026 11:15:47 IST           February 19, 2026 11:16:00 IST           Success
    Server patching                          odan1          February 19, 2026 11:16:00 IST           February 19, 2026 11:16:25 IST           Failure
    ...
    ...
    Validate ODA Backup Recovery snapshot    odan1          February 19, 2026 11:16:25 IST           February 19, 2026 11:16:26 IST           Success
    tag
    Aggregate logs using TFA                 odan1          February 19, 2026 11:16:26 IST           February 19, 2026 11:19:45 IST           Success
    Stop crs                                 odan1          February 19, 2026 11:19:45 IST           February 19, 2026 11:22:09 IST           Success
    Restore ODA Backup Recovery snapshot     odan1          February 19, 2026 11:22:09 IST           February 19, 2026 11:22:44 IST           Success
    Reboot Node                              odan1          February 19, 2026 11:22:44 IST           February 19, 2026 11:27:31 IST           Success
    Validate DCS Agent is up                 odan1          February 19, 2026 11:27:21 IST           February 19, 2026 11:27:21 IST           Success
    Validate Restore ODABR snapshot          odan1          February 19, 2026 11:27:21 IST           February 19, 2026 11:27:21 IST           Success
    Validate Metadata Sync status            odan1          February 19, 2026 11:27:31 IST           February 19, 2026 11:27:31 IST           Success

Other Patching Operations:

- Rollack is not supported for update of Oracle Grid Infrastructure home.
- Rollback is not supported for update of shared firmware components such as shared disks and expander.

Diagnosability of Patching Failures

Whenever a patching operation is run with an ODABR-based rollback option, three LVM snapshots are created during the operation. Subsequently, if the patching operation fails, the system is restored to the exact snapshot state that existed before the start of the patching operation. As a result, any configuration changes, file updates, or log entries created after the snapshot are lost and diagnosis of the root cause of the patching failure becomes difficult. To solve this problem, Oracle Database Appliance uses TFA (Trace File Analyzer) to collect and preserve critical logs and runtime evidence required for troubleshooting the patching failure. The TFA collection occurs before triggering the rollback process. Each collection is named by the job ID and stored under the `/opt/oracle/dcs/repo/diagcollect` directory on a separate volume unaffected by ODABR.

Note:

After the rollback is complete, move these files out of this directory and then review it at your discretion or use it when you contact Oracle Support. This is required as the volume mapped to the `/opt/oracle/dcs/repo/diagcollect` directory where TFA stores all the diagnostics is 5 GB in size and at least 3 GB of free space is required to run the next patching operation with rollback enabled.

Parent topic: Patching Oracle Database Appliance

### About Applying Monthly Updates on Oracle Database Appliance

Use the Oracle Database Appliance monthly update to update your appliance. You have the option of applying the monthly update with or without a restart of the system.

About Oracle Database Appliance monthly updates

The Oracle Database Appliance quarterly update that is released on a quarterly basis, also referred to as quarterly release, contains the latest patches for all Oracle Database Appliance components such as DCS components including DCS admin and DCS agent, infrastructure components such as MySQL and Oracle HAMI, server components such as Oracle Linux, OAK, and Oracle ILOM, firmware components such as disks and expanders, Oracle Grid Infrastructure and Oracle Database binaries. This quarterly patch release is released in alignment with the Oracle AI Database quarterly release and patches all the required components on Oracle Database Appliance.

From a security compliance perspective, it is beneficial to update Oracle Database Appliance on a more frequent basis to address critical CVEs in Oracle Linux and the Oracle Database Appliance software stack. The latter includes Deployment Coordination Service (DCS) and its Oracle or third-party software dependencies.

The salient features of an Oracle Database Appliance monthly update are as follows:

- Oracle Database Appliance monthly update contains Oracle Linux updates to address critical CVEs reported after release of the last quarterly patch release.
- Oracle Database Appliance monthly update may not contain updates for other Oracle Database Appliance components such as Oracle ILOM or firmware unless deemed necessary for the system to function normally.
- The monthly update does not contain updates to Oracle Grid Infrastructure or Oracle Database binaries.
- Oracle Database Appliance monthly update is a maintenance patch and it is designed to be applied quickly without incurring any downtime for running databases. All the updates in a monthly update can be applied without requiring any Oracle Clusterware downtime or restart of any of the nodes.
- Application of these monthly updates is optional. You can choose to apply none or some of the monthly updates on top of the quarterly release before applying the next quarterly release.
- To apply the monthly update, your deployment must be on the Oracle Database Appliance base release for the current monthly update series. For example, your deployment must be on Oracle Database Appliance release 19.29.0.0.0 to apply the Oracle Database Appliance 19.29.0.1.0 monthly update.
- The procedure to apply a monthly update is similar to the procedure to apply a quarterly release except that you do not need to run the ODACLI commands to patch Oracle Grid Infrastructure, that is, the `odacli update-gihome` command, and the shared firmware, that is, the `odacli update-storage` command.
- Oracle Database Appliance monthly update can be applied to both Oracle Database Appliance bare metal systems and DB systems.
- The prepatch report for the server components mentions whether all the operating system updates can be applied without a restart or not. If a monthly update contains certain server component updates that cannot be applied without a restart, you can do one of the following:
  - Run the `odacli update-servercomponents` command with the `--no-reboot,-nr` option. This applies all updates except those that require a restart. At a convenient time later, you can run the `odacli update-servercomponents` command without the `--no-reboot,-nr` option. This applies the remaining updates and restarts the system.
  - Run the `odacli update-servercomponents` command without the `--no-reboot,-nr` option. This applies all the updates irrespective of their restart requirement and restarts the system.

Refer to Oracle Database Appliance Release Notes for component changes in the monthly update.

Applying the Oracle Database Appliance monthly update

Following are the steps to update your deployment to Oracle Database Appliance release 19.29.0.1.0.

1. Download the Oracle Database Appliance release 19.29.0.1.0 server zip file from the specified location to your local appliance.
2. Register the server zip file:

       /opt/oracle/dcs/bin/odacli update-repository -f location_of_the_serverzip

3. Update DCS admin:

       /opt/oracle/dcs/bin/odacli update-dcsadmin -v 19.29.0.1.0

4. Update DCS components:

       /opt/oracle/dcs/bin/odacli update-dcscomponents -v 19.29.0.1.0

5. Generate the prepatch report for the server components:

       /opt/oracle/dcs/bin/odacli create-prepatchreport -sc -v 19.29.0.1.0

6. Update the server components:

       /opt/oracle/dcs/bin/odacli update-servercomponents -nr -v 19.29.0.1.0

   To update the server components without restarting the node, run the following command:

       odacli update-servercomponents [--no-reboot/-nr] -v monthly update version

   For example:

       odacli update-servercomponents -nr -v 19.29.0.1.0

   The `--no-reboot`, `-nr` option can be used with the `odacli update-servercomponents` command to apply only the monthly update. This option is not applicable for Oracle Database Appliance quarterly patch releases.

   To apply all the server components update, including those that do not require a restart as well as those that require a restart, run the following command:

       odacli update-servercomponents -v monthly update version

   For example:

       odacli update-servercomponents -v 19.29.0.1.0

   Note that if you first applied the updates that require a restart, you must run the `odacli update-servercomponents`command again to apply all the other patch updates that require a restart of the node.

The command reference for `odacli update-servercomponents -h` is as follows:

    odacli update-servercomponents -h
    update-servercomponents
        Updates OS, firmware, Oracle appliance kit and all other infrastructure
        components

    Syntax
        update-servercomponents [-c component] [-f] [-l] [-nr]
        [-nn node_name] [-v version] [-j] [-h]

    Parameters
        Options                    Description
        -------------------------  -------------------------------------------------
        --component,-c             The component that is requested for update. The
                                   supported components include: OS

        --force,-f                 Ignore precheck error and force patching

        --local,-l                 Update only components on local node

        --no-reboot,-nr            Apply updates without rebooting the system

        --node-name,-nn            Name of the node to be updated

        --rollback-onfailure,-rf   Run odabr rollback on failure

        --version,-v               Version to be updated

        --json,-j                  Specifies to show output in JSON format

        --help,-h                  Specifies to display help message

Following is an example server components prepatch report that indicates whether all the Oracle Linux updates can be applied with or without a restart of the node.

    # odacli describe-prepatchreport -i 4a07380b-afc9-47f9-b511-2e59dbc35756

    Prepatch Report
    ------------------------------------------------------------------------
                     Job ID:  4a07380b-afc9-47f9-b511-2e59dbc35756
                Description:  Patch pre-checks for [OS, ILOM, ORACHKSERVER, SERVER] to 19.29.0.1.0
                     Status:  SUCCESS
                    Created:  November 17, 2025 6:50:09 AM UTC
                     Result:  All pre-checks succeeded

    Node Name
    ---------------
    n1

    Pre-Check                      Status   Comments
    ------------------------------ -------- --------------------------------------
    __OS__
    Validate supported versions     Success   Validated minimum supported versions.
    Validate patching tag           Success   Validated patching tag: 19.29.0.1.0.
    Is patch location available     Success   Patch location is available.
    Verify All OS patches           Success   No dependencies found for RPMs being
                                              removed, updated and installed. Check
                                              /opt/oracle/dcs/log/jobfiles/
                                              dnfdryrunout_2025-11-17_06-50-
                                              36.0392_582.log file for more details
    Verify Rebootless OS patches    Success   No dependencies found for RPMs being
                                              removed, updated and installed. Check
                                              /opt/oracle/dcs/log/jobfiles/
                                              dnfdryrunout_2025-11-17_06-51-
                                              07.0343_582.log file for more details
    Validate command execution      Success   Validated command execution

    __ILOM__
    Validate ILOM server reachable  Success   Successfully connected with ILOM
                                              server using public IP and USB
                                              interconnect
    Validate supported versions     Success   Validated minimum supported versions.
    Validate patching tag           Success   Validated patching tag: 19.29.0.1.0.
    Is patch location available     Success   Patch location is available.
    Checking Ilom patch Version     Success   Patch already applied
    Patch location validation       Success   Successfully validated location
    Validate command execution      Success   Validated command execution

    __ORACHK__
    Running orachk                  Success   Successfully ran Orachk
    Validate command execution      Success   Validated command execution

    __SERVER__
    Validate local patching         Success   Successfully validated server local
                                              patching
    Validate all KVM ACFS           Success   All KVM ACFS resources are running
    resources are running
    Validate DB System VM states    Success   All DB System VMs states are expected
    Validate Nexus Reset Estes-Ext  Success   This system has the required SAS3
                                              controller firmware that does not
                                              require I_T NEXUS reset
    Validate DB System AFD state    Success   All DB Systems are on required
                                              versions
    Validate command execution      Success   Validated command execution

    Node Name
    ---------------
    n2

    Pre-Check                      Status   Comments
    ------------------------------ -------- --------------------------------------
    __OS__
    Validate supported versions     Success   Validated minimum supported versions.
    Validate patching tag           Success   Validated patching tag: 19.29.0.1.0.
    Is patch location available     Success   Patch location is available.
    Verify All OS patches           Success   No dependencies found for RPMs being
                                              removed, updated and installed. Check
                                              /opt/oracle/dcs/log/jobfiles/
                                              dnfdryrunout_2025-11-17_06-50-
                                              52.0047_142.log file for more details
    Verify Rebootless OS patches    Success   No dependencies found for RPMs being
                                              removed, updated and installed. Check
                                              /opt/oracle/dcs/log/jobfiles/
                                              dnfdryrunout_2025-11-17_06-51-
                                              22.0703_142.log file for more details
    Validate command execution      Success   Validated command execution

    __ILOM__
    Validate ILOM server reachable  Success   Successfully connected with ILOM
                                              server using public IP and USB
                                              interconnect
    Validate supported versions     Success   Validated minimum supported versions.
    Validate patching tag           Success   Validated patching tag: 19.29.0.1.0.
    Is patch location available     Success   Patch location is available.
    Checking Ilom patch Version     Success   Patch already applied
    Patch location validation       Success   Successfully validated location
    Validate command execution      Success   Validated command execution

    __ORACHK__
    Running orachk                  Success   Successfully ran Orachk
    Validate command execution      Success   Validated command execution

    __SERVER__
    Validate local patching         Success   Successfully validated server local
                                              patching
    Validate all KVM ACFS           Success   All KVM ACFS resources are running
    resources are running
    Validate DB System VM states    Success   All DB System VMs states are expected
    Validate Nexus Reset Estes-Ext  Success   This system has the required SAS3
                                              controller firmware that does not
                                              require I_T NEXUS reset
    Validate DB System AFD state    Success   All DB Systems are on required
                                              versions
    Validate command execution      Success   Validated command execution

Oracle Database Appliance Bare Metal System and KVM Patches
Changes in Oracle Database Appliance Release 19.29.0.1.0

Parent topic: Patching Oracle Database Appliance

### About Patching Prechecks

Patching prechecks are designed to detect and flag problems that might be encountered during patching.

The prechecks view the state of the appliance, including the version and hardware specific upgrades, verify that the necessary conditions and checks are complete before attempting an upgrade, and identify conditions that might cause an upgrade to fail. You can avoid potential patching problems by correcting the conditions and resolving the issues before applying the patch.

Update the DCS framework to ensure that the latest updated prechecks are available when you run these commands.

Components Verified by Patching Prechecks

Check | Component Verified
--- | ---
System patching prechecks | Checks that the DCS framework is online on all nodes. Checks that there is sufficient space for the update. Validates the minimum agent version and validates the Oracle Database Appliance release version.
Validate Nexus Reset Estes-Ext Failed | This server patching precheck is displayed for ORCL-EXT-SAS3 controller with model number 0x0097. This precheck verifies that controllers NVDATA is updated to 0e.01.00.0d version. If Estes-Ext is not updated to I_T Nexus Reset, then an error is displayed.
    SAS3 controller requires Nexus Reset.
    DCS-10293: Current System has ORCL-EXT-SAS3 controller
    which requires the firmware update to enable NEXUS RESET.
    To perform the firmware update, run
    /opt/oracle/oak/pkgrepos/
    firmwarecontroller/lsilogic/0x0097/
    16.00.08.00/it_nexus_reset.sh
    on both nodes.
Server patching prechecks | For operating system: Validates supported versions Validates minimum supported versions Validates patching tag Validates whether patch location is available Verifies OS patch with tests to ensure operating system patching will complete successfully Validates command execution For Oracle ILOM: Validates supported versions Validates minimum supported versions Validates patching tag Validates whether patch location is available Checks for Oracle ILOM patch version Validates Patch location Validates command execution Validates connectivity to Oracle ILOM For Oracle Grid Infrastructure: Validates supported Oracle Grid Infrastructure versions Validates available space Validates whether Oracle Clusterware is running Validates patching tag Validates whether system is provisioned Validates whether Oracle ASM is online Validates the minimum agent version Validates the central inventory Validates patching locks Validates whether clones location exists Validates DB start dependencies Validates DB stop dependencies Validates command execution For Oracle ORAchk: Runs the ORAchk tool that performs operating system level prechecks. Validates command execution For server: Validates whether server patching can be performed in local mode or not Validates command execution For rollback: Validate repo volume space. Validate ODABR is installed. Validate ODABR snapshots exist. Validate LVM free space on node. Confirms that the bare metal system is upgraded, in the case of DB systems. Verifies and confirms that the database start/stop dependencies are correct. Confirms that patching locks are not present. Verifies that the central inventory is accurate.
Database home patching prechecks | Confirms that Oracle Grid Infrastructure is installed Confirms that the DCS framework is at the required version Confirms that Oracle Clusterware is running on all nodes Confirms that Oracle Grid Infrastructure is upgraded Validates that there is sufficient disk space available Checks if the disk group for database homes on Oracle ACFS is configured Checks whether the clone file is present in the repository Checks whether the `/u01/app/odaorabase` directory exists. If the directory exists, then the check confirms that there is a valid symbolic link.
Database home patching with out-of-place patching prechecks | The check creates a database home and verifies that all databases can be moved from the source home to new home. This check validates that the `--local` option can be used for the database home.
Storage prechecks | Validates storage patch location and tag Validates patching location and tag Validates command execution Validates Oracle ASM disk groups status Validates rolling patch (for high-availability deployment)

Parent topic: Patching Oracle Database Appliance

### About Enabling NUMA on Oracle Database Appliance

Understand how you can enable NUMA on bare metal, KVM, and DB Systems on Oracle Database Appliance.

NUMA (Non-Uniform Memory Access) can help facilitate efficient use of the underlying NUMA hardware. On Oracle Database Appliance, you can enable NUMA for databases on bare metal and DB systems, CPU pools, and for KVM applications.

About Enabling NUMA During Provisioning of Oracle Database Appliance

When you provision Oracle Database Appliance with release 19.30, NUMA is automatically enabled on the database, DB system and CPU pools. Hence, when you create a database, DB system, or CPU pool on an Oracle Database Appliance release 19.30 deployment, NUMA is automatically enabled and no additional configuration is required. NUMA is not enabled by default for application VMs.

About Enabling NUMA After Patching Oracle Database Appliance

NUMA is enabled by default starting with Oracle Database Appliance release 19.12. When you patch to Oracle Database Appliance release 19.30 from 19.11 or earlier, the `odacli update-servercomponents` command sets NUMA at the system level. New databases created after patching are NUMA-enabled. For existing databases, enable NUMA by running the command `alter system set "enable_numa_support"=true` on the database.

For existing DB systems, run the command `odacli modify-dbsystem --enable-numa` to enable NUMA for the dbsystem and the database of the DB system.

NUMA is not enabled by default for application VMs. For new and existing application VMs, run the command `odacli modify-vm --enable-numa` to enable NUMA for the VM configuration. You must also enable NUMA for the components inside the VM such as operating system and application running inside the VM. The command `odacli modify-dbsystem --enable-numa` is only supported on application VMs with even number of CPU cores so that CPU cores can be evenly distributed to NUMA nodes. In Oracle Database Appliance, one CPUcore is equal to 2 vCPU.

See the topic Patching Oracle Database Appliance Bare Metal Systems Using the Command-Line for more details about the steps to patch your deployment and enable NUMA.

Patching Oracle Database Appliance Bare Metal Systems Using the Command-Line
Patching Oracle Database Appliance DB Systems Using the Command-Line
Remapping CPU Pools in a Bare Metal or KVM Deployment
odacli modify-vm
odacli remap-cpupools
odacli modify-dbsystem
odacli create-cpupool

Parent topic: Patching Oracle Database Appliance

### Minimizing Downtime When Patching Oracle Database Appliance

Understand best practices to minimize downtime when you apply patches to your Oracle Database Appliance deployment.

Recommendations for Minimizing Downtime During Patching

- To minimize database patching downtime, it is recommended that you use Oracle RAC or Oracle RAC One Node on an Oracle Database Appliance high-availability system.
- If available, use Oracle Data Guard and patch the standby system first. After you patch the standby system, switch the workload to the standby system, patch the primary system, and then switch the workload back to the primary system. For more information, see Patching Oracle Data Guard Databases on Oracle Database Appliance in this guide.
- Always use Oracle Database Appliance Backup and Recovery (ODABR) to back up the system disks to ensure easy restore, if the patching operation fails. ODABR restores the system disk to pre-patching state.
- Note that starting with Oracle Database Appliance release 19.30, the `odacli update-servercomponents` command supports the rollback option, which uses ODABR to take volume snapshots before patching starts. On failure, these volumes are restored to the state before patching started. Refer to the topic About Rolling Back Updates in this chapter for more details.
- The `odacli update-storage` command includes a `--rolling` option for patching storage devices such as SSDs and HDDs. This option minimizes downtime by enabling patching with minimal service interruption. However, if the expander firmware needs to be updated, then the `--rolling` option is not supported. Expander firmware updates require a full stack shutdown, as rolling updates are not possible for this component. Oracle Database Appliance storage patching can be deferred, but it is not recommended. Note that the `--rolling` option cannot be used with the `odacli update-storage` command on single-node Oracle Database Appliance systems.

Minimizing Downtime using the `--local` Option During Patching

To minimize downtime, use the `--local` option with the `odacli update-servercomponents` and `odacli update-dbhome` commands. Update the DCS components and then run the `odacli create-prepatchreport` command. There is no downtime during the prepatch process. After analyzing the prepatch report, use the `--local` option to continue patching Oracle Database Appliance.

Note:

Before patching databases, ensure that the server patching operation on both nodes has completed successfully. Do not run the `odacli update-dbhome` and `odacli update-database` commands before the `odacli update-servercomponents` operation completes successfully on both nodes.

See Also:

Oracle Database High Availability Overview and Best Practices Guide in the Oracle Database 19c Documentation Library

Parent topic: Patching Oracle Database Appliance

### About Updating Databases and Database Homes

Understand how to update a database and database home using either the Browser User Interface or `odacli` commands.

About Updating Databases and Database Homes

Oracle Database Appliance provides the following options to patch or update databases and database homes:

- Patch or update each database home. The database home is patched out-of-place. When patching database home, Oracle Database Appliance automatically provisions a destination database home if needed, records the source database home, target version, and destination database home mapping in the metadata repository, and then moves all databases running in the source database home to the destination database home. Use the `odacli update-dbhome` command or the BUI to patch all databases from a single source database home to a single destination database home. Use this option if there are no constraints on your system for space usage or for provisioning a new database home.
- Patch or update selected databases in a database home to a specific database home. You must specify the target database and destination database home when patching. You can use the `odacli update-database` command or the BUI to patch a specific database to a specific database home or to control when and how many database homes are provisioned. Using the update-database workflow also provides an option to run the operation again, if the patching operation failed. The abort and revert options available with the update-database workflow are not supported when the target database is a single-instance database.

Before patching the database or database home, upload the Oracle Database clone files for the database version, to the repository, and then create the database home. See Patching Oracle Database Appliance Using the CLI for the procedure to update the repository with the latest Oracle Database clone files.

Important:

The `odacli update-database` command that enabled association of a backup configuration with database was deprecated in Oracle Database Appliance release 19.6. Starting with Oracle Database Appliance release 19.17, the `odacli update-database` command enables database patching and is similar to the patching functionality that the `odacli update-dbhome` command provides, with a few differences as described in the Oracle Database Appliance Deployment Guide for your hardware model.

Before you run the `odacli update-dbhome` command, you must create the prepatch report for the database home by running the command `odacli create-prepatchreport -d`. Similarly, before you run the `odacli update-database` command, you must create the prepatch report either for the source database home or target database by running the command `odacli create-prepatchreport -d` or `odacli create-prepatchreport -db` respectively. The source and destination database homes must be consistent in the prepatch report and when specifying them in the `odacli update-database` command. If you do not create the prepatch report before the patch operation, then the `odacli update-database` and `odacli update-dbhome` commands fail with an error message prompting you to run the patching pre-checks.

For more information about the options for the `update-dbhome` and `odacli update-database` commands, see the chapter Oracle Database Appliance Command-Line Interface.

Parent topic: Patching Oracle Database Appliance

### Updating ESTES-EXT Firmware Before Patching Oracle Database Appliance Server

Update TMT (Task Management Reset Type) for Estes-Ext before you patch the Oracle Database Appliance server.

Before you patch your Oracle Database Appliance deployment and your existing database homes to the current release, you must update `I_T Target Reset` of Estes-Ext to `I_T Nexus Reset`. This update is not included in the regular firmware update. Run the `/opt/oracle/oak/pkgrepos/firmwarecontroller/lsilogic/0x0097/16.00.08.00/it_nexus_reset.sh` script to complete this update before you perform server patching. The patching precheck verifies that controllers NVDATA is updated to 0e.01.00.0d version. If `Estes-Ext` is not updated to `I_T Nexus Reset`, then an error is displayed.
The example release used in these steps is Oracle Database Appliance release 19.29. Ensure that you follow these steps for the current release:

1. Ensure that you update the repository with the server zip file for the latest Oracle Database Appliance release, for example, 19.30.
2. Shut down Oracle Grid Infrastructure, Oracle Database, and all applications before you run the update. Ensure that Oracle Clusterware is not running.
3. Before you patch the Oracle Database Appliance server, run the following command:

       #  /opt/oracle/oak/pkgrepos/firmwarecontroller/lsilogic/0x0097/16.00.08.00/sas3flash -listall
       Avago Technologies SAS3 Flash Utility
       Version 17.00.00.00 (2018.04.02)
       Copyright 2008-2018 Avago Technologies. All rights reserved.

               Adapter Selected is a Avago SAS: SAS3008(C0)

       Num   Ctlr            FW Ver        NVDATA        x86-BIOS         PCI Addr
       ----------------------------------------------------------------------------

       0  SAS3008(C0)  16.00.08.00    0e.01.00.0c    08.37.00.00     00:3b:00:00
       1  SAS3008(C0)  16.00.08.00    0e.01.00.0c    08.37.00.00     00:e3:00:00

               Finished Processing Commands Successfully.
               Exiting SAS3Flash.

4. If the system is already up-to-date, then the following message is displayed:

       #   /opt/oracle/oak/pkgrepos/firmwarecontroller/lsilogic/0x0097/16.00.08.00/it_nexus_reset.sh
       The I_T Nexus Reset is enabled for the SAS3 controller(s) in this system. No action required.

5. Run the script.

       # /opt/oracle/oak/pkgrepos/firmwarecontroller/lsilogic/0x0097/16.00.08.00/it_nexus_reset.sh

   Use the -force option to run the script without being prompted for answers.

6. If Oracle Clusterware is running, then the following error is displayed:

       # /opt/oracle/oak/pkgrepos/firmwarecontroller/lsilogic/0x0097/16.00.08.00/it_nexus_reset.sh
       CRS status found as up and running in this node, please SHUTDOWN the CRS and retry running this script

7. Shut down Oracle Clusterware and run the script again:

       # /u01/app/19.29.0.0/grid/bin/crsctl check crs
       CRS-4638: Oracle High Availability Services is online
       CRS-4537: Cluster Ready Services is online
       CRS-4529: Cluster Synchronization Services is online
       CRS-4533: Event Manager is online

       # /u01/app/19.29.0.0/grid/bin/crsctl stop crs
       ...
       ...
       ...

       # /u01/app/19.29.0.0/grid/bin/crsctl check crs
       CRS-4639: Could not contact Oracle High Availability Services

       # /opt/oracle/oak/pkgrepos/firmwarecontroller/lsilogic/0x0097/16.00.08.00/it_nexus_reset.sh
       ##################################################################
       Running it_nexus_reset.sh script is going to perform nexus reset
         and does DEEP POWER CYCLE of iLOM
       Please enter 'yes' to confirm the Nexus Reset operation,
         enter 'no' to cancel.
       ##################################################################
       Do you wish to continue and rest nexus adapter? (yes/no): yes
       Trying perform I_T Nexus Reset
       Updating Adapter with index: 0
       running /opt/oracle/oak/pkgrepos/firmwarecontroller/lsilogic/0x0097/16.00.08.00/sas3flash -c 0 -f /opt/oracle/oak/pkgrepos/firmwarecontroller/lsilogic/0x0097/16.00.08.00/Oracle_SAS9300-8e_it_p_000D_ph16.04_nexus.bin
       Avago Technologies SAS3 Flash Utility
       Version 17.00.00.00 (2018.04.02)
       Copyright 2008-2018 Avago Technologies. All rights reserved.

               Adapter Selected is a Avago SAS: SAS3008(C0)

               Executing Operation: Flash Firmware Image

                       Firmware Image has a Valid Checksum.
                       Firmware Version 16.00.08.00
                       Firmware Image compatible with Controller.

                       Valid NVDATA Image found.
                       NVDATA Major Version 0e.01
                       Checking for a compatible NVData image...

                       NVDATA Device ID and Chip Revision match verified.
                       NVDATA SubSystem Vendor and SubSystem Device ID match verified.
                       NVDATA Versions Compatible.
                       Valid Initialization Image verified.
                       Valid BootLoader Image verified.

                       Beginning Firmware Download...
                       Firmware Download Successful.

                       Verifying Download...

                       Firmware Flash Successful.

                       Resetting Adapter...
                       Adapter Successfully Reset.

                       NVDATA Version 0e.01.00.0d
               Finished Processing Commands Successfully.
               Exiting SAS3Flash.
       running /opt/oracle/oak/pkgrepos/firmwarecontroller/lsilogic/0x0097/16.00.08.00/sas3flash -c 0 -o -e 3
       Avago Technologies SAS3 Flash Utility
       Version 17.00.00.00 (2018.04.02)
       Copyright 2008-2018 Avago Technologies. All rights reserved.

               Advanced Mode Set

               Adapter Selected is a Avago SAS: SAS3008(C0)

               Executing Operation: Erase Flash

               Erasing Persistent Configuration Pages Region...

               Erase Flash Operation Successful!

               Finished Processing Commands Successfully.
               Exiting SAS3Flash.
       running /opt/oracle/oak/pkgrepos/firmwarecontroller/lsilogic/0x0097/16.00.08.00/sas3flash -c 0 -b /opt/oracle/oak/pkgrepos/firmwarecontroller/lsilogic/0x0097/16.00.08.00/mpt3x64.rom
       Avago Technologies SAS3 Flash Utility
       Version 17.00.00.00 (2018.04.02)
       Copyright 2008-2018 Avago Technologies. All rights reserved.

               Adapter Selected is a Avago SAS: SAS3008(C0)

               Executing Operation: Flash BIOS Image

                       Validating BIOS Image...

                       BIOS Header Signature is Valid

                       BIOS Image has a Valid Checksum.

                       BIOS PCI Structure Signature Valid.

                       BIOS Image Compatible with the SAS Controller.

                       Attempting to Flash BIOS Image...

                       Verifying Download...

                       Flash BIOS Image Successful.

               Finished Processing Commands Successfully.
               Exiting SAS3Flash.
       running /opt/oracle/oak/pkgrepos/firmwarecontroller/lsilogic/0x0097/16.00.08.00/sas3flash -c 0 -b /opt/oracle/oak/pkgrepos/firmwarecontroller/lsilogic/0x0097/16.00.08.00/mptsas3.rom
       Avago Technologies SAS3 Flash Utility
       Version 17.00.00.00 (2018.04.02)
       Copyright 2008-2018 Avago Technologies. All rights reserved.

               Adapter Selected is a Avago SAS: SAS3008(C0)

               Executing Operation: Flash BIOS Image

                       Validating BIOS Image...

                       BIOS Header Signature is Valid

                       BIOS Image has a Valid Checksum.

                       BIOS PCI Structure Signature Valid.

                       BIOS Image Compatible with the SAS Controller.

                       Attempting to Flash BIOS Image...

                       Verifying Download...

                       Flash BIOS Image Successful.

               Finished Processing Commands Successfully.
               Exiting SAS3Flash.
       running /opt/oracle/oak/pkgrepos/firmwarecontroller/lsilogic/0x0097/16.00.08.00/sas3flash -c 0 -b /opt/oracle/oak/pkgrepos/firmwarecontroller/lsilogic/0x0097/16.00.08.00/lsisas3f.rom
       Avago Technologies SAS3 Flash Utility
       Version 17.00.00.00 (2018.04.02)
       Copyright 2008-2018 Avago Technologies. All rights reserved.

               Adapter Selected is a Avago SAS: SAS3008(C0)

               Executing Operation: Flash BIOS Image

                       Validating BIOS Image...

                       BIOS Header Signature is Valid

                       BIOS Image has a Valid Checksum.

                       BIOS PCI Structure Signature Valid.

                       BIOS Image Compatible with the SAS Controller.

                       Attempting to Flash BIOS Image...

                       Verifying Download...

                       Flash BIOS Image Successful.

               Finished Processing Commands Successfully.
               Exiting SAS3Flash.
       Updating Adapter with index: 1
       running /opt/oracle/oak/pkgrepos/firmwarecontroller/lsilogic/0x0097/16.00.08.00/sas3flash -c 1 -f /opt/oracle/oak/pkgrepos/firmwarecontroller/lsilogic/0x0097/16.00.08.00/Oracle_SAS9300-8e_it_p_000D_ph16.04_nexus.bin
       Avago Technologies SAS3 Flash Utility
       Version 17.00.00.00 (2018.04.02)
       Copyright 2008-2018 Avago Technologies. All rights reserved.

               Adapter Selected is a Avago SAS: SAS3008(C0)

               Executing Operation: Flash Firmware Image

                       Firmware Image has a Valid Checksum.
                       Firmware Version 16.00.08.00
                       Firmware Image compatible with Controller.

                       Valid NVDATA Image found.
                       NVDATA Major Version 0e.01
                       Checking for a compatible NVData image...

                       NVDATA Device ID and Chip Revision match verified.
                       NVDATA SubSystem Vendor and SubSystem Device ID match verified.
                       NVDATA Versions Compatible.
                       Valid Initialization Image verified.
                       Valid BootLoader Image verified.

                       Beginning Firmware Download...
                       Firmware Download Successful.

                       Verifying Download...

                       Firmware Flash Successful.

                       Resetting Adapter...
                       Adapter Successfully Reset.

                       NVDATA Version 0e.01.00.0d
               Finished Processing Commands Successfully.
               Exiting SAS3Flash.
       running /opt/oracle/oak/pkgrepos/firmwarecontroller/lsilogic/0x0097/16.00.08.00/sas3flash -c 1 -o -e 3
       Avago Technologies SAS3 Flash Utility
       Version 17.00.00.00 (2018.04.02)
       Copyright 2008-2018 Avago Technologies. All rights reserved.

               Advanced Mode Set

               Adapter Selected is a Avago SAS: SAS3008(C0)

               Executing Operation: Erase Flash

               Erasing Persistent Configuration Pages Region...

               Erase Flash Operation Successful!

               Finished Processing Commands Successfully.
               Exiting SAS3Flash.
       running /opt/oracle/oak/pkgrepos/firmwarecontroller/lsilogic/0x0097/16.00.08.00/sas3flash -c 1 -b /opt/oracle/oak/pkgrepos/firmwarecontroller/lsilogic/0x0097/16.00.08.00/mpt3x64.rom
       Avago Technologies SAS3 Flash Utility
       Version 17.00.00.00 (2018.04.02)
       Copyright 2008-2018 Avago Technologies. All rights reserved.

               Adapter Selected is a Avago SAS: SAS3008(C0)

               Executing Operation: Flash BIOS Image

                       Validating BIOS Image...

                       BIOS Header Signature is Valid

                       BIOS Image has a Valid Checksum.

                       BIOS PCI Structure Signature Valid.

                       BIOS Image Compatible with the SAS Controller.

                       Attempting to Flash BIOS Image...

                       Verifying Download...

                       Flash BIOS Image Successful.

               Finished Processing Commands Successfully.
               Exiting SAS3Flash.
       running /opt/oracle/oak/pkgrepos/firmwarecontroller/lsilogic/0x0097/16.00.08.00/sas3flash -c 1 -b /opt/oracle/oak/pkgrepos/firmwarecontroller/lsilogic/0x0097/16.00.08.00/mptsas3.rom
       Avago Technologies SAS3 Flash Utility
       Version 17.00.00.00 (2018.04.02)
       Copyright 2008-2018 Avago Technologies. All rights reserved.

               Adapter Selected is a Avago SAS: SAS3008(C0)

               Executing Operation: Flash BIOS Image

                       Validating BIOS Image...

                       BIOS Header Signature is Valid

                       BIOS Image has a Valid Checksum.

                       BIOS PCI Structure Signature Valid.

                       BIOS Image Compatible with the SAS Controller.

                       Attempting to Flash BIOS Image...

                       Verifying Download...

                       Flash BIOS Image Successful.

               Finished Processing Commands Successfully.
               Exiting SAS3Flash.
       running /opt/oracle/oak/pkgrepos/firmwarecontroller/lsilogic/0x0097/16.00.08.00/sas3flash -c 1 -b /opt/oracle/oak/pkgrepos/firmwarecontroller/lsilogic/0x0097/16.00.08.00/lsisas3f.rom
       Avago Technologies SAS3 Flash Utility
       Version 17.00.00.00 (2018.04.02)
       Copyright 2008-2018 Avago Technologies. All rights reserved.

               Adapter Selected is a Avago SAS: SAS3008(C0)

               Executing Operation: Flash BIOS Image

                       Validating BIOS Image...

                       BIOS Header Signature is Valid

                       BIOS Image has a Valid Checksum.

                       BIOS PCI Structure Signature Valid.

                       BIOS Image Compatible with the SAS Controller.

                       Attempting to Flash BIOS Image...

                       Verifying Download...

                       Flash BIOS Image Successful.

               Finished Processing Commands Successfully.
               Exiting SAS3Flash.
       create script for ILOM deep recycle
       chmod 777 /tmp/dcsfiles/
       chmod 700 /tmp/dcsfiles//rebootIlom.sh
       prepare system for ILOM recyle
       Enabling HOST_AUTO_POWER_ON on ILOM
       Connected. Use ^D to exit.
       -> set /SP/policy HOST_AUTO_POWER_ON=enabled
       Set 'HOST_AUTO_POWER_ON' to 'enabled'

       -> Session closed
       Disconnected
       Setting set /System/ deep_power_cycle=true
       Connected. Use ^D to exit.
       -> set /System/ deep_power_cycle=true
       Set 'deep_power_cycle' to 'true'

       -> Session closed
       Disconnected
       Trigger recycle script in background

8. Continue patching your server and databases as described in the topic Patching Oracle Database Appliance Bare Metal Systems Using the Command-Line.
9. Verify that the updates ran successfully. When the system comes up, verify the NVDATA versions and firmware version.

       # /opt/oracle/oak/pkgrepos/firmwarecontroller/lsilogic/0x0097/16.00.08.00/sas3flash -listall
       Avago Technologies SAS3 Flash Utility
       Version 17.00.00.00 (2018.04.02)
       Copyright 2008-2018 Avago Technologies. All rights reserved.

               Adapter Selected is a Avago SAS: SAS3008(C0)

       Num   Ctlr            FW Ver        NVDATA        x86-BIOS         PCI Addr
       ----------------------------------------------------------------------------

       0  SAS3008(C0)  16.00.08.00    0e.01.00.0d    08.37.00.00     00:3b:00:00
       1  SAS3008(C0)  16.00.08.00    0e.01.00.0d    08.37.00.00     00:e3:00:00

               Finished Processing Commands Successfully.
               Exiting SAS3Flash.

About Enabling NUMA on Oracle Database Appliance
Patching Oracle Database Appliance DB Systems Using the Command-Line
Managing Database Homes on Oracle ACFS Storage
About Creating Database Homes on Oracle ACFS Storage
odacli modify-vm
odacli remap-cpupools
odacli modify-dbsystem
odacli create-cpupool

Parent topic: Patching Oracle Database Appliance

### Patching Oracle Database Appliance Bare Metal Systems Using the Command-Line

Follow these steps to apply patches to your Oracle Database Appliance bare metal deployment and existing Oracle Database homes, using ODACLI.

To patch your Oracle Database Appliance deployment and your existing database homes to the current release, you must download the Oracle Database Appliance Server patch, Oracle Grid Infrastructure clone files, and Oracle Database clone files and update the repository on the bare metal system.

Remember:

When you patch your Oracle Database Appliance deployment to the current release, for ORCL-EXT-SAS3 controller with model number 0x0097, the patching precheck verifies that controllers NVDATA is updated to 0e.01.00.0d version. You must update `I_T Target Reset` of Estes-Ext to `I_T Nexus Reset` by running the `/opt/oracle/oak/pkgrepos/firmwarecontroller/lsilogic/0x0097/16.00.08.00/it_nexus_reset.sh` script. For more information, see the topic Updating ESTES-EXT Firmware Before Patching Oracle Database Appliance Server.

Important:

Starting with Oracle Database Appliance release 19.30, for server components and storage patching, nodes are restarted in a serial fashion, that is, one after another, on a high-availability system.

Important:

Oracle recommends always patching from within the previous four Oracle Database Appliance releases because these patching paths are tested. If you patch from any earlier Oracle Database Appliance release, then you may encounter errors.

Note:

Run the steps in this procedure in the same order as documented. Run the `odacli update-dcsadmin` and `odacli update-dcscomponents` commands, and then run the `odacli update-servercomponents` command and the `odacli update-gihome` command.

Important:

Ensure that there is sufficient space on your appliance to download the patches.

Important:

If you want to install third-party software on your Oracle Database Appliance, then ensure that the software does not impact the Oracle Database Appliance software. The version lock on Oracle Database Appliance RPMs displays a warning if the third-party software tries to override Oracle Database Appliance RPMs. You must remove the affected RPMs before patching Oracle Database Appliance so that patching completes successfully. You can reinstall these RPMs after successfully patching the appliance.

Important:

If you have configured Oracle ASR and are patching your appliance to Oracle Database Appliance release 19.30, then after updating the DCS framework, delete the existing Oracle ASR configuration and reconfigure it, before you run the `odacli update-servercomponents` command to patch your appliance.

Note:

Public network gateway must be responsive to ping requests. Oracle Clusterware uses the public network gateway as ping target to facilitate the VIP failover in Oracle Database Appliance high-availability environment.

See Also:

Enabling Custom SSH Key Management on Oracle Database Appliance in this guide for information on how to manage SSH keys on bare metal systems and DB systems

ODABR software is included in Oracle Database Appliance release 19.30 and is installed when you provision the appliance. The ODABR utility is installed in the `/opt/odabr` location. To create an ODABR snapshot, run the `/opt/odabr/odabr backup -snap` command. After patching completes successfully, run the `/opt/odabr/odabr delsnap` command to delete the ODABR snapshot. Note that if you run the `odacli update-servercomponent`s command with the `-rf` option, manual creation and deletion of ODABR snapshots is no longer required. The process now automatically manages ODABR snapshots. If a patching failure occurs, then the ODABR snapshots are restored and the node is restarted automatically as part of the recovery process.

Follow these steps to apply patches to your Oracle Database Appliance and update existing database homes.

1. Download the Oracle Database Appliance Server Patch for the ODACLI/DCS stack (patch 38776074), Oracle Grid Infrastructure clone files (patch 30403673), and Oracle Database clone files (patch 30403662) from My Oracle Support to a temporary location on an external client. Refer to the Oracle Database Appliance Release Notes for details about the patch numbers and software for the latest release.
   For example, download the server patch for 19.30:

       p38776074_1930000_Linux-x86-64.zip

2. Unzip the software — it contains README.html and one or more zip files for the patch.

       unzip p38776074_1930000_Linux-x86-64.zip

   The zip file contains the following software file:

       oda-sm-19.30.0.0.0-date-server.zip

3. Copy all the software files from the external client to Oracle Database Appliance. For High-Availability deployments, copy the software files to only one node. The software files are copied to the other node during the patching process. Use the `scp` or `sftp` protocol to copy the bundle.
   Example using `scp` command:

       # scp software_file root@oda_host:/tmp

   Example using `sftp` command:

       # sftp root@oda_host

   Enter the `root` password, and copy the files.

       put software_file

4. Update the repository with the server software file:

       [root@oda1 opt]# /opt/oracle/dcs/bin/odacli update-repository -f /tmp/software_file

   For example, for 19.30:

       [root@oda1 opt]# /opt/oracle/dcs/bin/odacli update-repository -f /tmp/oda-sm-19.30.0.0.0-date-server.zip
       {
         "jobId" : "3e6d09ba-29f0-4c8d-aac2-6d4a37dee67c",
         "status" : "Created",
         "message" : "/tmp/oda-sm-19.30.0.0.0-260204-server.zip",
         "reports" : [ ],
         "createTimestamp" : "February 06, 2026 06:31:23 AM UTC",
         "resourceList" : [ ],
         "description" : "Repository Update",
         "updatedTime" : "February 06, 2026 06:31:23 AM UTC",
         "jobType" : null,
         "cpsMetadata" : null
       }

       [root@node1 ~]# odacli describe-job -i 3e6d09ba-29f0-4c8d-aac2-6d4a37dee67c

       Job details
       ----------------------------------------------------------------
                            ID:  3e6d09ba-29f0-4c8d-aac2-6d4a37dee67c
                   Description:  Repository Update
                        Status:  Success
                       Created:  February 06, 2026 06:31:23 UTC
                       Message:  /tmp/oda-sm-19.30.0.0.0-260204-server.zip

       Task Name                                Node Name                 Start Time                               End Time                                 Status
       ---------------------------------------- ------------------------- ---------------------------------------- ---------------------------------------- ----------------
       Check AvailableSpace                     odan2             February 06, 2026 06:31:30 UTC           February 06, 2026 06:31:30 UTC           Success
       Setting up SSH equivalence               odan1             February 06, 2026 06:31:30 UTC           February 06, 2026 06:31:34 UTC           Success
       Copy BundleFile                          odan1             February 06, 2026 06:31:34 UTC           February 06, 2026 06:31:37 UTC           Success
       Validating CopiedFile                    odan2             February 06, 2026 06:31:37 UTC           February 06, 2026 06:31:40 UTC           Success
       Unzip bundle                             odan1             February 06, 2026 06:31:40 UTC           February 06, 2026 06:31:56 UTC           Success
       Unzip bundle                             odan2             February 06, 2026 06:31:56 UTC           February 06, 2026 06:32:12 UTC           Success
       Delete PatchBundles                      odan2             February 06, 2026 06:32:12 UTC           February 06, 2026 06:32:12 UTC           Success

5. Confirm that the repository update is successful:

       [root@oda1 opt]# /opt/oracle/dcs/bin/odacli describe-job -i job_ID

6. Update DCS admin:

       [root@dbsystem1 opt]# /opt/oracle/dcs/bin/odacli update-dcsadmin -v version

   For example, for 19.30:

       [root@oda1 opt]# /opt/oracle/dcs/bin/odacli update-dcsadmin -v 19.30.0.0.0
       {
         "jobId" : "fc14bb8c-38b9-4bf5-9023-56393cdab964",
         "status" : "Created",
         "message" : "",
         "reports" : [ ],
         "createTimestamp" : "February 06, 2026 06:41:02 AM UTC",
         "resourceList" : [ ],
         "description" : "DcsAdmin patching to 19.30.0.0.0",
         "updatedTime" : "February 06, 2026 06:41:02 AM UTC",
         "jobType" : null,
         "cpsMetadata" : null
       }

       [root@node1 ~]# odacli describe-job -i fc14bb8c-38b9-4bf5-9023-56393cdab964

       Job details
       ----------------------------------------------------------------
                            ID:  fc14bb8c-38b9-4bf5-9023-56393cdab964
                   Description:  DcsAdmin patching to 19.30.0.0.0
                        Status:  Success
                       Created:  February 06, 2026 06:41:02 UTC
                       Message:

       Task Name                                Node Name                 Start Time                               End Time                                 Status
       ---------------------------------------- ------------------------- ---------------------------------------- ---------------------------------------- ----------------
       Dcs-admin upgrade                        odan1             February 06, 2026 06:41:03 UTC           February 06, 2026 06:41:13 UTC           Success
       Dcs-admin upgrade                        odan2             February 06, 2026 06:41:13 UTC           February 06, 2026 06:41:24 UTC           Success
       Ping DCS Admin                           odan1             February 06, 2026 06:41:24 UTC           February 06, 2026 06:42:21 UTC           Success
       Ping DCS Admin                           odan2             February 06, 2026 06:42:21 UTC           February 06, 2026 06:42:27 UTC           Success

7. Update the DCS components:

       [root@oda1 opt]# /opt/oracle/dcs/bin/odacli update-dcscomponents -v version

   For example, for 19.30:

       [root@oda1 opt]# /opt/oracle/dcs/bin/odacli update-dcscomponents -v 19.30.0.0.0

       {
         "jobId" : "598a4d04-a47b-45f0-a9ae-4520a2bc8a11",
         "status" : "Running",
         "message" : null,
         "reports" : [ ],
         "createTimestamp" : "February 06, 2026 06:43:33 AM UTC",
         "description" : "Update-dcscomponents job submitted",
         "updatedTime" : "February 06, 2026 06:43:33 AM UTC",
         "jobType" : "",
         "externalRequestId" : null,
         "action" : null
       }

   The `odacli update-dcscomponents` command updates Oracle HAMI, MySQL, and updates other DCS components such as the DCS framework, DCS CLI, DCS agent, and DCS controller on Oracle Database Appliance.

   Starting with Oracle Database Appliance release 19.30, the `odacli update-dcscomponent` command submits a job on the bare metal system managed by DCS admin. Monitor the progress of the job using the `odacli list-admin-jobs` command to list jobs, and the `odacli describe-admin-job -i job_ID` command to view job details.

       [root@node1 ~]# odacli describe-admin-job -i 598a4d04-a47b-45f0-a9ae-4520a2bc8a11

       Job details
       ----------------------------------------------------------------
                            ID:  598a4d04-a47b-45f0-a9ae-4520a2bc8a11
                   Description:  Update-dcscomponents to 19.30.0.0.0
                        Status:  Success
                       Created:  February 06, 2026 06:43:33 UTC
                       Message:  Update-dcscomponents is successful on all the node(s):

       Task Name                                Node Name                 Start Time                               End Time                                 Status
       ---------------------------------------- ------------------------- ---------------------------------------- ---------------------------------------- ----------------
       Pre-checks for update DCS components     odan1             February 06, 2026 06:43:45 UTC           February 06, 2026 06:43:53 UTC           Success
       Pre-checks for update DCS components     odan2             February 06, 2026 06:43:55 UTC           February 06, 2026 06:44:03 UTC           Success
       Update DCS components                    odan1             February 06, 2026 06:44:04 UTC           February 06, 2026 06:44:04 UTC           Success
       Stop DCS-Agent                           odan1             February 06, 2026 06:44:04 UTC           February 06, 2026 06:44:05 UTC           Success
       Update MySql                             odan1             February 06, 2026 06:44:05 UTC           February 06, 2026 06:44:20 UTC           Success
       Apply metadata schema changes            odan1             February 06, 2026 06:44:20 UTC           February 06, 2026 06:44:20 UTC           Success
       Modify MySQL Metadata                    odan1             February 06, 2026 06:44:21 UTC           February 06, 2026 06:44:21 UTC           Success
       Update DCS-Agent                         odan1             February 06, 2026 06:44:21 UTC           February 06, 2026 06:44:33 UTC           Success
       Update DCS-Cli                           odan1             February 06, 2026 06:44:34 UTC           February 06, 2026 06:44:36 UTC           Success
       Update DCS-Controller                    odan1             February 06, 2026 06:44:36 UTC           February 06, 2026 06:45:00 UTC           Success
       Update AHF RPM                           odan1             February 06, 2026 06:45:00 UTC           February 06, 2026 06:47:18 UTC           Success
       Reset Keystore password                  odan1             February 06, 2026 06:47:18 UTC           February 06, 2026 06:47:39 UTC           Success
       Update HAMI                              odan1             February 06, 2026 06:47:39 UTC           February 06, 2026 06:48:34 UTC           Success
       Remove old library files                 odan1             February 06, 2026 06:48:35 UTC           February 06, 2026 06:48:35 UTC           Success
       Post DCS update actions                  odan1             February 06, 2026 06:48:35 UTC           February 06, 2026 06:48:36 UTC           Success
       Update DCS components                    odan2             February 06, 2026 06:48:37 UTC           February 06, 2026 06:48:37 UTC           Success
       Stop DCS-Agent                           odan2             February 06, 2026 06:48:37 UTC           February 06, 2026 06:48:38 UTC           Success
       Update MySql                             odan2             February 06, 2026 06:48:38 UTC           February 06, 2026 06:48:53 UTC           Success
       Apply metadata schema changes            odan2             February 06, 2026 06:48:53 UTC           February 06, 2026 06:48:54 UTC           Success
       Modify MySQL Metadata                    odan2             February 06, 2026 06:48:54 UTC           February 06, 2026 06:48:54 UTC           Success
       Update DCS-Agent                         odan2             February 06, 2026 06:48:55 UTC           February 06, 2026 06:49:07 UTC           Success
       Update DCS-Cli                           odan2             February 06, 2026 06:49:07 UTC           February 06, 2026 06:49:10 UTC           Success
       Update DCS-Controller                    odan2             February 06, 2026 06:49:10 UTC           February 06, 2026 06:49:33 UTC           Success
       Update AHF RPM                           odan2             February 06, 2026 06:49:34 UTC           February 06, 2026 06:51:53 UTC           Success
       Reset Keystore password                  odan2             February 06, 2026 06:51:53 UTC           February 06, 2026 06:52:14 UTC           Success
       Update HAMI                              odan2             February 06, 2026 06:52:15 UTC           February 06, 2026 06:53:09 UTC           Success
       Remove old library files                 odan2             February 06, 2026 06:53:09 UTC           February 06, 2026 06:53:09 UTC           Success
       Post DCS update actions                  odan2             February 06, 2026 06:53:10 UTC           February 06, 2026 06:53:10 UTC           Success

   Note:

   Note that for DCS framework update to be complete, the `odacli update-dcscomponents` command must be run. Ensure that you run the `odacli update-dcsadmin` command and then run the `odacli update-dcscomponents` command.
8. Update the repository with the Oracle Grid Infrastructure clone file and the Oracle Database clone file:

       [root@oda1 opt]# /opt/oracle/dcs/bin/odacli update-repository -f /tmp/software_file

   For example, for 19.30:

       [root@oda1 opt]# /opt/oracle/dcs/bin/odacli update-repository -f /tmp/odacli-dcs-19.30.0.0.0-date-GI-19.30.0.0.zip
       [root@oda1 opt]# /opt/oracle/dcs/bin/odacli update-repository -f /tmp/odacli-dcs-19.30.0.0.0-date-DB-19.30.0.0.zip
       [root@node1 ~]# odacli update-repository -f /tmp/odacli-dcs-19.30.0.0.0-260204-GI-19.30.0.0.zip
       {
         "jobId" : "c64f51d9-d55b-42cc-b310-52c3ac021e0a",
         "status" : "Created",
         "message" : "/tmp/odacli-dcs-19.30.0.0.0-260204-GI-19.30.0.0.zip",
         "reports" : [ ],
         "createTimestamp" : "February 06, 2026 07:33:21 AM UTC",
         "resourceList" : [ ],
         "description" : "Repository Update",
         "updatedTime" : "February 06, 2026 07:33:21 AM UTC",
         "jobType" : null,
         "cpsMetadata" : null,
         "ecJobId" : null
       }

       [root@node1 ~]# odacli describe-job -i c64f51d9-d55b-42cc-b310-52c3ac021e0a

       Job details
       ----------------------------------------------------------------
                            ID:  c64f51d9-d55b-42cc-b310-52c3ac021e0a
                   Description:  Repository Update
                        Status:  Success
                       Created:  February 06, 2026 07:33:21 UTC
                       Message:  /tmp/odacli-dcs-19.30.0.0.0-260204-GI-19.30.0.0.zip

       Task Name                                Node Name                 Start Time                               End Time                                 Status
       ---------------------------------------- ------------------------- ---------------------------------------- ---------------------------------------- ----------------
       Unzip bundle                             odan1             February 06, 2026 07:33:24 UTC           February 06, 2026 07:34:26 UTC           Success

9. Run patching pre-checks. You must run the `odacli create-prepatchreport` command before you patch your server; otherwise, the `odacli update-servercomponents` and `odacli update-gihome` commands fail with an error message prompting you to run the patching pre-checks. Note that `odacli create-prepatchreport` supports the `-l` option, which runs the prechecks on the local node only. However, to be able to patch the system, the command `odacli create-prepatchreport` must be run either separately on both the nodes using the `--local,-l` option, or run once without the `--local,-l` option, so that the prechecks can be performed on both nodes before patching is started on any of the two nodes.
   Before running the `odacli update-servercomponents` command, you must run the `odacli create-prepatchreport` command for the server components. This step is mandatory to ensure that all prerequisite checks are completed successfully.
   Important: The `odacli update-servercomponents` operation cannot proceed unless the pre-patch report for the server components is generated and completed successfully.
   Note that there is no downtime when the patching prechecks run.

       [root@oda1 opt]# /opt/oracle/dcs/bin/odacli create-prepatchreport -sc -v version

   For example, for 19.30:

       [root@oda1 opt]# /opt/oracle/dcs/bin/odacli create-prepatchreport -sc -v 19.30.0.0.0

   You can use the `--rollback-onFailure,-rf` option with the `odacli create-prepatchreport` command to check space for both the ODABR snapshot and the `/opt/oracle/dcs/repo` location. Use this option with the `--servercomponents,-sc` option in the `odacli create-prepatchreport` command. For example:

       # /opt/oracle/dcs/bin/odacli create-prepatchreport -sc -v 19.30.0.0.0 -rf

   The following rollback checks are performed when you specify the `-rf` option:

       __ROLLBACK__
       Validate ODABR is installed SUCCESS Validated ODABR is installed
       Validate ODABR snapshots exist SUCCESS No ODABR snaps found on the node.
       Validate LVM free space SUCCESS LVM free space: 207.0(GB) on node: odaha1

   You can also generate a pre-patch report for Oracle Grid Infrastructure home at this stage. Running Oracle Grid Infrastructure prechecks is strongly recommended to detect and resolve potential issues before initiating patching activities. To generate a consolidated pre-patch report for both server components and the GI home, run the following command:

       [root@oda1 opt]# /opt/oracle/dcs/bin/odacli create-prepatchreport -sc -gi -v version

   Note that you can run the prepatch report for all components in a single command:

       [root@oda1 opt]# /opt/oracle/dcs/bin/odacli create-prepatchreport -sc -gi -st -v version

   For example, for 19.30:

       [root@oda1 opt]# /opt/oracle/dcs/bin/odacli create-prepatchreport -sc -gi -st -v 19.30.0.0.0

10. Verify that the patching pre-checks ran successfully:

        [root@oda1 opt]# /opt/oracle/dcs/bin/odacli describe-prepatchreport -i report_ID

    Use the command `odacli describe-prepatchreport` to view details of the pre-patch report. Fix the warnings and errors mentioned in the report and proceed with the server patching.

        [root@oda1 opt]# odacli describe-prepatchreport -i a4dd0689-8964-430c-92a4-d8c3c944052c

        Prepatch Report
        ------------------------------------------------------------------------
                         Job ID:  a4dd0689-8964-430c-92a4-d8c3c944052c
                    Description:  Patch pre-checks for [OS, ILOM, ORACHKSERVER, SERVER, ASR, ROLLBACK] to 19.30.0.0.0
                         Status:  SUCCESS
                        Created:  February 20, 2026 3:40:49 PM IST
                         Result:  All pre-checks succeeded

        Node Name
        ---------------
        odan1

        Pre-Check                      Status   Comments
        ------------------------------ -------- --------------------------------------
        __OS__
        Validate supported versions     Success   Validated minimum supported versions.
        Validate patching tag           Success   Validated patching tag: 19.30.0.0.0.
        Is patch location available     Success   Patch location is available.
        Verify All OS patches           Success   No changes for RPMs being removed,
                                                  updated and installed. Check
                                                  /opt/oracle/dcs/log/jobfiles/
                                                  dnfdryrunout_2026-02-20_15-41-
                                                  08.0886_30293.log file for more
                                                  details
        Validate command execution      Success   Validated command execution

        __ILOM__
        Validate ILOM server reachable  Success   Successfully connected with ILOM
                                                  server using public IP and USB
                                                  interconnect
        Validate supported versions     Success   Validated minimum supported versions.
        Validate patching tag           Success   Validated patching tag: 19.30.0.0.0.
        Is patch location available     Success   Patch location is available.
        Checking Ilom patch Version     Success   Successfully verified the versions
        Patch location validation       Success   Successfully validated location
        Validate command execution      Success   Validated command execution

        __ORACHK__
        Running orachk                  Success   Successfully ran Orachk
        Validate command execution      Success   Validated command execution

        __SERVER__
        Validate local patching         Success   Successfully validated server local
                                                  patching
        Validate all KVM ACFS           Success   All KVM ACFS resources are running
        resources are running
        Validate DB System VM states    Success   All DB System VMs states are expected
        Validate DB System AFD state    Success   All DB Systems are on required
                                                  versions
        Validate command execution      Success   Validated command execution

        __ASR__
        Validate ASR configuration      Success   Successfully validated the ASR
                                                  configuration
        Validate command execution      Success   Validated command execution

        __ROLLBACK__
        Validate ODABR is installed     Success   Validated ODABR is installed
        Validate ODABR snapshots exist  Success   No ODABR snaps found on the node.
        Validate LVM free space         Success   LVM free space: 317.0(GB) on node:
                                                  odan1
        Validate command execution      Success   Validated command execution

        Node Name
        ---------------
        odan2

        Pre-Check                      Status   Comments
        ------------------------------ -------- --------------------------------------
        __OS__
        Validate supported versions     Success   Validated minimum supported versions.
        Validate patching tag           Success   Validated patching tag: 19.30.0.0.0.
        Is patch location available     Success   Patch location is available.
        Verify All OS patches           Success   No changes for RPMs being removed,
                                                  updated and installed. Check
                                                  /opt/oracle/dcs/log/jobfiles/
                                                  dnfdryrunout_2026-02-20_15-41-
                                                  20.0080_209.log file for more details
        Validate command execution      Success   Validated command execution

        __ILOM__
        Validate ILOM server reachable  Success   Successfully connected with ILOM
                                                  server using public IP and USB
                                                  interconnect
        Validate supported versions     Success   Validated minimum supported versions.
        Validate patching tag           Success   Validated patching tag: 19.30.0.0.0.
        Is patch location available     Success   Patch location is available.
        Checking Ilom patch Version     Success   Successfully verified the versions
        Patch location validation       Success   Successfully validated location
        Validate command execution      Success   Validated command execution

        __ORACHK__
        Running orachk                  Success   Successfully ran Orachk
        Validate command execution      Success   Validated command execution

        __SERVER__
        Validate local patching         Success   Successfully validated server local
                                                  patching
        Validate all KVM ACFS           Success   All KVM ACFS resources are running
        resources are running
        Validate DB System VM states    Success   All DB System VMs states are expected
        Validate DB System AFD state    Success   All DB Systems are on required
                                                  versions
        Validate command execution      Success   Validated command execution

        __ASR__
        Validate ASR configuration      Success   Successfully validated the ASR
                                                  configuration
        Validate command execution      Success   Validated command execution

        __ROLLBACK__
        Validate ODABR is installed     Success   Validated ODABR is installed
        Validate ODABR snapshots exist  Success   No ODABR snaps found on the node.
        Validate LVM free space         Success   LVM free space: 317.0(GB) on node:
                                                  odan2
        Validate command execution      Success   Validated command execution

11. Apply the server update with the `odacli update-servercomponents` command to update the server. The components that are updated include Oracle Linux, Oracle HMP, Oracle ILOM, BIOS, local disk firmware, local controller firmware, shared controller firmware, and OAKD. Note that you can use the `--local,-l` option with the `odacli update-servercomponents` command to update the local node.

        [root@oda1 opt]# /opt/oracle/dcs/bin/odacli update-servercomponents -v version

    For example, for 19.30:

        [root@oda1 opt]# /opt/oracle/dcs/bin/odacli update-servercomponents -v 19.30.0.0.0

    When you run the `odacli update-servercomponents` command with the `--rollback-onFailure,-rf` option, ODABR snapshots are created after all the prechecks on both nodes have completed successfully. This ensures that rollback is possible if the patching process fails. Use the `--rollback-onFailure,-rf` option along with the option for the local node, that is, `--local,-l` or the node name for high-availability systems, that is `--node-name,-nn`.

    If you specified the `--rollback-onfailure,-rf` option with the `odacli update-servercomponents` command, you must review the job output and task status. In this mode, patching is performed as a single operation across the appliance and not in a rolling manner. If the update failed and rollback occurred, then check for the SUCCESS status of rollback-related tasks indicating the rollback completed successfully. For example, tasks such as Validate ODA Backup Recovery snapshot, Restore ODA Backup Recovery snapshot, and Validate Restore ODABR snapshot. If the update succeeded, then check for tasks indicating that the ODABR snapshot creation and deletion completed. For example, tasks such as Create ODA Backup Recovery snapshot and Delete ODA Backup Recovery snapshot. If these confirmation tasks are missing, incomplete, or show errors, and snapshots remain, contact Oracle Support with the task and log details.

    For example, for 19.30:

        [root@oda1 opt]# /opt/oracle/dcs/bin/odacli update-servercomponents -v 19.30.0.0.0 -rf -nn node_name

    If you run the `odacli update-servercomponents` command without the `-l` or `-nn` option, patching is performed on all nodes. In this mode, patching is performed as a single operation across the appliance and not in a rolling manner. Starting with Oracle Database Appliance release 19.30, the nodes are restarted serially, that is, one node after another. If any node fails to complete its restart, then the patching job is marked as failed. The maximum wait time of 30 minutes per node is the maximum time allowed for each node to complete its restart before the job is marked as failed. If you run the `odacli update-servercomponents` command with the `-l` or `-nn` option, only the specified node is patched and restarted.

    An example of successful rollback after the `odacli update-servercomponents` command failed is as follows:

        # odacli describe-job -i e5d9d763-0481-4235-944f-b75129b9c68d

        Job details
        ----------------------------------------------------------------
                             ID:  e5d9d763-0481-4235-944f-b75129b9c68d
                    Description:  Server Patching to 19.30.0.0.0 on odan1
                         Status:  Failure
                        Created:  February 19, 2026 11:15:36 IST
                        Message:  DCS-10003:File '/opt/oracle/oak/pkgrepos/oak/19.30.0.0.0/oda-hw-mgmt-19.30.0.0.0_LINUX.X64_260210-1.x86_64.rpm' does not exist.

        Task Name                                Node Name                 Start Time                               End Time                                 Status
        ---------------------------------------- ------------------------- ---------------------------------------- ---------------------------------------- ----------------
        Validating GI user metadata              odan1          February 19, 2026 11:15:45 IST           February 19, 2026 11:15:46 IST           Success
        Validating GI user metadata              odan2          February 19, 2026 11:15:45 IST           February 19, 2026 11:15:46 IST           Success
        Validate ILOM server reachable           odan1          February 19, 2026 11:15:46 IST           February 19, 2026 11:15:47 IST           Success
        Create DCS metadata volume               odan1          February 19, 2026 11:15:47 IST           February 19, 2026 11:15:47 IST           Success
        Create ODA Backup Recovery snapshot      odan1          February 19, 2026 11:15:47 IST           February 19, 2026 11:16:00 IST           Success
        Server patching                          odan1          February 19, 2026 11:16:00 IST           February 19, 2026 11:16:25 IST           Failure
        Modify BM udev rules                     odan1          February 19, 2026 11:16:01 IST           February 19, 2026 11:16:12 IST           Success
        Creating local repository                odan1          February 19, 2026 11:16:12 IST           February 19, 2026 11:16:13 IST           Success
        OSPatchBaseRepo
        Stop oakd                                odan1          February 19, 2026 11:16:12 IST           February 19, 2026 11:16:12 IST           Success
        Updating versionlock plugin              odan1          February 19, 2026 11:16:13 IST           February 19, 2026 11:16:15 IST           Success
        Applying OS Patches                      odan1          February 19, 2026 11:16:15 IST           February 19, 2026 11:16:23 IST           Success
        Applying HMP Patches                     odan1          February 19, 2026 11:16:23 IST           February 19, 2026 11:16:25 IST           Success
        Creating local repository HMPPatchRepo   odan1          February 19, 2026 11:16:23 IST           February 19, 2026 11:16:23 IST           Success
        Patch location validation                odan1          February 19, 2026 11:16:25 IST           February 19, 2026 11:16:25 IST           Failure
        Server patching                          odan1          February 19, 2026 11:16:25 IST           February 19, 2026 11:16:25 IST           Failure
        Setting SELinux mode                     odan1          February 19, 2026 11:16:25 IST           February 19, 2026 11:16:25 IST           Success
        Validate ODA Backup Recovery snapshot    odan1          February 19, 2026 11:16:25 IST           February 19, 2026 11:16:26 IST           Success
        tag
        Aggregate logs using TFA                 odan1          February 19, 2026 11:16:26 IST           February 19, 2026 11:19:45 IST           Success
        Stop crs                                 odan1          February 19, 2026 11:19:45 IST           February 19, 2026 11:22:09 IST           Success
        Restore ODA Backup Recovery snapshot     odan1          February 19, 2026 11:22:09 IST           February 19, 2026 11:22:44 IST           Success
        Reboot Node                              odan1          February 19, 2026 11:22:44 IST           February 19, 2026 11:27:31 IST           Success
        Validate DCS Agent is up                 odan1          February 19, 2026 11:27:21 IST           February 19, 2026 11:27:21 IST           Success
        Validate Restore ODABR snapshot          odan1          February 19, 2026 11:27:21 IST           February 19, 2026 11:27:21 IST           Success
        Validate Metadata Sync status            odan1          February 19, 2026 11:27:31 IST           February 19, 2026 11:27:31 IST           Success

12. Confirm that the server update is successful:

        [root@oda1 opt]# /opt/oracle/dcs/bin/odacli describe-job -i job_ID

    Note:

    If you manually created ODABR snapshots before running the server update, it is recommended that you delete these snapshots after the update completes successfully. If you used the `--rollback-onfailure,-rf` option with the `odacli update-servercomponents` command and there are ODABR snapshots remaining after the operation, do not delete these snapshots. Instead, contact Oracle Support for guidance.

    Note:

    See My Oracle Support Note 2466177.1 for the procedure to create and delete ODABR snapshots: https://support.oracle.com/rs?type=doc&id=2466177.1
13. Before you update the Oracle Grid Infrastructure home, run the `odacli create-prepatchreport` command with the `-gi` option.

        [root@oda1 opt]# /opt/oracle/dcs/bin/odacli create-prepatchreport -gi -v version

    For example, for 19.30:

        [root@oda1 opt]# /opt/oracle/dcs/bin/odacli create-prepatchreport -gi -v 19.30.0.0.0

14. Verify that the patching pre-checks ran successfully:

        [root@oda1 opt]# /opt/oracle/dcs/bin/odacli describe-prepatchreport -i ID

    For example:

        [root@oda1 ~]# odacli create-prepatchreport  -v 19.30.0.0.0 -gi

        [root@node1 ~]# odacli describe-prepatchreport -i 7ee68a01-46d6-4969-8c17-e94d1c92d9f0

        Prepatch Report
        ------------------------------------------------------------------------
                         Job ID:  7ee68a01-46d6-4969-8c17-e94d1c92d9f0
                    Description:  Patch pre-checks for [RHPGI, GI] to 19.30.0.0.0
                         Status:  SUCCESS
                        Created:  February 6, 2026 7:35:42 AM UTC
                         Result:  All pre-checks succeeded

        Node Name
        ---------------
        odan1

        Pre-Check                      Status   Comments
        ------------------------------ -------- --------------------------------------
        __RHPGI__
        Validate available space        Success   Validated free space under /u01
        Evaluate GI patching            Success   Successfully validated GI patching
        Validate command execution      Success   Validated command execution

        __GI__
        Validate GI metadata            Success   Successfully validated GI metadata
        Validate supported GI versions  Success   Successfully validated minimum version
        Is clusterware running          Success   Clusterware is running
        Validate patching tag           Success   Validated patching tag: 19.30.0.0.0.
        Is system provisioned           Success   Verified system is provisioned
        Validate ASM is online          Success   ASM is online
        Validate kernel log level       Success   Successfully validated the OS log
                                                  level
        Validate Central Inventory      Success   oraInventory validation passed
        Validate patching locks         Success   Validated patching locks
        Validate clones location exist  Success   Validated clones location
        Validate DB start dependencies  Success   DBs START dependency check passed
        Validate DB stop dependencies   Success   DBs STOP dependency check passed
        Validate space for clones       Success   Clones volume is already created
        volume
        Validate command execution      Success   Validated command execution

        Node Name
        ---------------
        odan2

        Pre-Check                      Status   Comments
        ------------------------------ -------- --------------------------------------
        __RHPGI__
        Validate available space        Success   Validated free space under /u01
        Validate command execution      Success   Validated command execution

        __GI__
        Validate GI metadata            Success   Successfully validated GI metadata
        Validate supported GI versions  Success   Successfully validated minimum version
        Is clusterware running          Success   Clusterware is running
        Validate patching tag           Success   Validated patching tag: 19.30.0.0.0.
        Is system provisioned           Success   Verified system is provisioned
        Validate ASM is online          Success   ASM is online
        Validate kernel log level       Success   Successfully validated the OS log
                                                  level
        Validate Central Inventory      Success   oraInventory validation passed
        Validate patching locks         Success   Validated patching locks
        Validate clones location exist  Success   Validated clones location
        Validate DB start dependencies  Success   DBs START dependency check passed
        Validate DB stop dependencies   Success   DBs STOP dependency check passed
        Validate space for clones       Success   Clones volume is already created
        volume
        Validate command execution      Success   Validated command execution

    Fix the warnings and errors mentioned in the report and proceed with the patching operation.

15. Update Oracle Grid Infrastructure software by updating the Oracle Grid Infrastructure home. Note that you can use the `--local` option with the `odacli update-gihome` command to update the local node.

        [root@oda1 opt]# /opt/oracle/dcs/bin/odacli update-gihome -v version

    For example, for 19.30:

        [root@oda1 opt]# /opt/oracle/dcs/bin/odacli update-gihome -v 19.30.0.0.0
        {
          "jobId" : "fa465c4f-8b7a-474b-9be1-82d2477c04aa",
          "status" : "Created",
          "message" : "",
          "reports" : [ ],
          "createTimestamp" : "February 06, 2026 07:42:38 UTC",
          "resourceList" : [ ],
          "description" : "Patch GI with RHP to 19.30.0.0.0",
          "updatedTime" : "February 06, 2026 07:42:38 UTC",
          "jobType" : null,
          "cpsMetadata" : null,
          "ecJobId" : null
        }

        [root@node1 ~]# odacli describe-job -i fa465c4f-8b7a-474b-9be1-82d2477c04aa

        Job details
        ----------------------------------------------------------------
                             ID:  fa465c4f-8b7a-474b-9be1-82d2477c04aa
                    Description:  Patch GI with RHP to 19.30.0.0.0
                         Status:  Success
                        Created:  February 06, 2026 07:42:38 UTC
                        Message:

        Task Name                                Node Name                 Start Time                               End Time                                 Status
        ---------------------------------------- ------------------------- ---------------------------------------- ---------------------------------------- ----------------
        Patch GI with RHP to 19.30.0.0.0         odan1             February 06, 2026 07:43:09 UTC           February 06, 2026 07:59:52 UTC           Success
        Starting the clusterware                 odan2             February 06, 2026 07:43:25 UTC           February 06, 2026 07:43:25 UTC           Success
        Registering image                        odan2             February 06, 2026 07:43:27 UTC           February 06, 2026 07:43:27 UTC           Success
        Creating GI home directories             odan2             February 06, 2026 07:43:28 UTC           February 06, 2026 07:43:28 UTC           Success
        Registering image                        odan2             February 06, 2026 07:43:28 UTC           February 06, 2026 07:43:28 UTC           Success
        Registering working copy                 odan1             February 06, 2026 07:43:28 UTC           February 06, 2026 07:43:28 UTC           Success
        Extract GI clone                         odan2             February 06, 2026 07:43:29 UTC           February 06, 2026 07:43:29 UTC           Success
        Provisioning Software Only GI with RHP   odan1             February 06, 2026 07:43:29 UTC           February 06, 2026 07:43:29 UTC           Success
        Patch GI with RHP                        odan1             February 06, 2026 07:44:11 UTC           February 06, 2026 07:58:31 UTC           Success
        Set CRS ping target                      odan1             February 06, 2026 07:58:31 UTC           February 06, 2026 07:58:31 UTC           Success
        Updating .bashrc                         odan2             February 06, 2026 07:58:32 UTC           February 06, 2026 07:58:32 UTC           Success
        Updating GI home metadata                odan2             February 06, 2026 07:58:33 UTC           February 06, 2026 07:58:33 UTC           Success
        Updating GI home version                 odan1             February 06, 2026 07:58:33 UTC           February 06, 2026 07:58:38 UTC           Success
        Updating GI home version                 odan2             February 06, 2026 07:58:33 UTC           February 06, 2026 07:58:39 UTC           Success
        Updating All DBHome version              odan1             February 06, 2026 07:58:39 UTC           February 06, 2026 07:59:10 UTC           Success
        Updating All DBHome version              odan2             February 06, 2026 07:58:39 UTC           February 06, 2026 07:59:01 UTC           Success
        Starting the clusterware                 odan2             February 06, 2026 07:59:32 UTC           February 06, 2026 07:59:32 UTC           Success
        Validate ACFS resources are running      odan1             February 06, 2026 07:59:33 UTC           February 06, 2026 07:59:35 UTC           Success
        Validate GI availability                 odan1             February 06, 2026 07:59:33 UTC           February 06, 2026 07:59:33 UTC           Success
        Validate DB System VMs states            odan1             February 06, 2026 07:59:35 UTC           February 06, 2026 07:59:37 UTC           Success
        Patch KVM CRS type                       odan1             February 06, 2026 07:59:37 UTC           February 06, 2026 07:59:38 UTC           Success
        Patch VM Storage Accelerator volumes     odan1             February 06, 2026 07:59:38 UTC           February 06, 2026 07:59:40 UTC           Success
        Patch VM vDisks CRS dependencies         odan1             February 06, 2026 07:59:40 UTC           February 06, 2026 07:59:41 UTC           Success
        Patch CPU Pools distribution             odan1             February 06, 2026 07:59:41 UTC           February 06, 2026 07:59:42 UTC           Success
        Patch DB System domain config            odan1             February 06, 2026 07:59:41 UTC           February 06, 2026 07:59:41 UTC           Success
        Save custom VNetworks to storage         odan1             February 06, 2026 07:59:42 UTC           February 06, 2026 07:59:43 UTC           Success
        Create network filters                   odan1             February 06, 2026 07:59:43 UTC           February 06, 2026 07:59:44 UTC           Success
        Add network filters to DB Systems        odan1             February 06, 2026 07:59:44 UTC           February 06, 2026 07:59:47 UTC           Success
        Patch DB System SCSI controllers         odan1             February 06, 2026 07:59:47 UTC           February 06, 2026 07:59:49 UTC           Success
        Patch DB Systems vDisks CRS dependencies odan1             February 06, 2026 07:59:49 UTC           February 06, 2026 07:59:50 UTC           Success
        Patch DB Systems custom scale metadata   odan1             February 06, 2026 07:59:50 UTC           February 06, 2026 07:59:51 UTC           Success

16. Before you update the storage components, run the `odacli create-prepatchreport` command with the `-st` option.

        [root@oda1 opt]# /opt/oracle/dcs/bin/odacli create-prepatchreport -st -v version

    For example, for 19.30:

        [root@oda1 opt]# /opt/oracle/dcs/bin/odacli create-prepatchreport -st -v 19.30.0.0.0

17. Verify that the patching pre-checks ran successfully:

        [root@oda1 opt]# /opt/oracle/dcs/bin/odacli describe-prepatchreport

    For example:

        [root@node1 ~]# odacli create-prepatchreport -st -v 19.30.0.0.0

        Job details
        ----------------------------------------------------------------
                             ID:  cec0de75-3f60-4c44-af5f-6f4349243290
                    Description:  Patch pre-checks for [STORAGE] to 19.30.0.0.0
                         Status:  Created
                        Created:  February 06, 2026 08:08:37 UTC
                        Message:  Use 'odacli describe-prepatchreport -i cec0de75-3f60-4c44-af5f-6f4349243290' to check details of results

        Task Name                                Start Time                               End Time                                 Status
        ---------------------------------------- ---------------------------------------- ---------------------------------------- ----------------

        [root@node1 ~]# odacli describe-job -i cec0de75-3f60-4c44-af5f-6f4349243290

        Job details
        ----------------------------------------------------------------
                             ID:  cec0de75-3f60-4c44-af5f-6f4349243290
                    Description:  Patch pre-checks for [STORAGE] to 19.30.0.0.0
                         Status:  Success
                        Created:  February 06, 2026 08:08:37 UTC
                        Message:  Use 'odacli describe-prepatchreport -i <ID>' to check prepatch results

        Task Name                                Node Name                 Start Time                               End Time                                 Status
        ---------------------------------------- ------------------------- ---------------------------------------- ---------------------------------------- ----------------
        Run patching pre-checks                  odan1             February 06, 2026 08:08:49 UTC           February 06, 2026 08:09:19 UTC           Success

        [root@node1 ~]# odacli describe-prepatchreport -i cec0de75-3f60-4c44-af5f-6f4349243290

        Prepatch Report
        ------------------------------------------------------------------------
                         Job ID:  cec0de75-3f60-4c44-af5f-6f4349243290
                    Description:  Patch pre-checks for [STORAGE] to 19.30.0.0.0
                         Status:  SUCCESS
                        Created:  February 6, 2026 8:08:37 AM UTC
                         Result:  All pre-checks succeeded

        Node Name
        ---------------
        odan1

        Pre-Check                      Status   Comments
        ------------------------------ -------- --------------------------------------
        __STORAGE__
        Validate patching tag           Success   Validated patching tag: 19.30.0.0.0.
        Patch location validation       Success   Verified patch location
        Patch tag validation            Success   Verified patch tag
        Storage patch tag validation    Success   Verified storage patch location
        Verify ASM disks status         Success   ASM disks are online
        Validate rolling patch          Success   Rolling mode patching allowed as
                                                  there is no expander and controller
                                                  upgrade.
        Validate command execution      Success   Validated command execution

        Node Name
        ---------------
        odan2

        Pre-Check                      Status   Comments
        ------------------------------ -------- --------------------------------------
        __STORAGE__
        Validate patching tag           Success   Validated patching tag: 19.30.0.0.0.
        Patch location validation       Success   Verified patch location
        Patch tag validation            Success   Verified patch tag
        Storage patch tag validation    Success   Verified storage patch location
        Verify ASM disks status         Success   ASM disks are online
        Validate rolling patch          Success   Rolling mode patching allowed as
                                                  there is no expander and controller
                                                  upgrade.
        Validate command execution      Success   Validated command execution

    Use the command `odacli describe-prepatchreport` to view details of the pre-patch report. The pre-patch report also indicates whether storage patching can be rolling or not, based on whether an expander update is also required.

    Fix the warnings and errors mentioned in the report and proceed with the storage components patching.

18. Update the storage components.
    When the `--rolling` option is not specified, all nodes in the system are restarted. The restart process is performed in serial mode. Oracle Clusterware remains unavailable on both nodes until the restart process is completed on all nodes. The job status is marked as successful only after all nodes restart successfully. The `--rolling` option is supported only when patching shared disks in rolling mode. In rolling mode, Oracle Clusterware is not stopped and the system is not restarted. Rolling patching is not supported when the `--only-expander` option is specified or when the selected storage patch version includes expander firmware updates.
    You can choose to run the patching operation using the `--only-disk` option to skip expander firmware updates. When `--only-disk` is specified, the `--rolling` option is supported. If the `--rolling` option is not specified along with the `--only-disk` option, then Oracle Clusterware is stopped on both nodes, and all nodes are restarted at the end of the job.

        [root@oda1 opt]# /opt/oracle/dcs/bin/odacli update-storage -v version --rolling

    For example, for 19.30:

        [root@oda1 opt]# /opt/oracle/dcs/bin/odacli update-storage -v 19.30.0.0.0 --rolling
        [root@node1 ~]# odacli describe-job -i 5a449150-d0e3-4768-8b0a-acba795732ca

        Job details
        ----------------------------------------------------------------
                             ID:  5a449150-d0e3-4768-8b0a-acba795732ca
                    Description:  Storage Firmware Patching to 19.30.0.0.0
                         Status:  Success
                        Created:  February 06, 2026 08:10:27 UTC
                        Message:

        Task Name                                Node Name                 Start Time                               End Time                                 Status
        ---------------------------------------- ------------------------- ---------------------------------------- ---------------------------------------- ----------------
        Applying Firmware shared Disk Patches    odan1             February 06, 2026 08:10:32 UTC           February 06, 2026 08:10:36 UTC           Success
        Applying Firmware shared Disk Patches    odan2             February 06, 2026 08:10:36 UTC           February 06, 2026 08:10:41 UTC           Success
        Update Storage version                   odan1             February 06, 2026 08:10:41 UTC           February 06, 2026 08:10:46 UTC           Success
        Update Storage version                   odan2             February 06, 2026 08:10:41 UTC           February 06, 2026 08:10:46 UTC           Success
        Generating and saving BOM                odan1             February 06, 2026 08:10:46 UTC           February 06, 2026 08:11:52 UTC           Success
        Generating and saving BOM                odan2             February 06, 2026 08:10:46 UTC           February 06, 2026 08:11:52 UTC           Success
        PreRebootNode Actions                    odan1             February 06, 2026 08:11:52 UTC           February 06, 2026 08:11:52 UTC           Success
        PreRebootNode Actions                    odan2             February 06, 2026 08:11:52 UTC           February 06, 2026 08:11:53 UTC           Success

19. To patch existing Oracle Database Homes to release 19.30, ensure that the repository is updated with the Oracle Database clone files. If you have not updated the repository with the Oracle Database clone files, then update the repository.

        [root@oda1 opt]# /opt/oracle/dcs/bin/odacli update-repository -f /tmp/DB_software_file

        [root@oda1 opt]# /opt/oracle/dcs/bin/odacli update-repository -f /tmp/odacli-dcs-19.30.0.0.0-date-DB-19.30.0.0.zip

    Note:

    You have the option to patch each database home using the `odacli update-dbhome` command or patch selected databases in a database home to a specific database home using the `odacli update-database` command.
20. To patch all databases in a specified database home:

    WARNING:

    When you patch your deployment from Oracle Database Appliance release 19.29 to Oracle Database Appliance release 19.30, if you see the error `DCS-10315 - Patch described in My Oracle Support Note KB867473 must be applied.` in the prepatch report, ensure that you follow the procedure described in My Oracle Support Note KB867473, and then use the `--force` option with the `odacli update-database` or `odacli update-dbhome` command.
    1. If you want to patch each database home by running the `odacli update-dbhome` command, then create the prepatch report first. Run the patching pre-checks and review the prepatch report. You must run the `odacli create-prepatchreport` command before you patch your Oracle Database homes; otherwise, the `odacli update-dbhome` command fails with an error message prompting you to run the patching pre-checks.

           [root@oda1 opt]# /opt/oracle/dcs/bin/odacli create-prepatchreport --dbhome --dbhomeid DB_Home_ID -v release_number
           [root@oda1 opt]# odacli describe-prepatchreport -i Job_ID

           [root@oda1 opt]# /opt/oracle/dcs/bin/odacli create-prepatchreport --dbhome --dbhomeid d03d5187-1c20-470a-9d51-49a0d6f60772 -v 19.30.0.0.0
           [root@oda1 opt]# odacli describe-prepatchreport -i 6f040374-d271-4711-a7db-e6c04597ad69

           Patch pre-check report
           ------------------------------------------------------------------------
                            Job ID:  6f040374-d271-4711-a7db-e6c04597ad69
                       Description:  Patch pre-checks for [DB, ORACHKDB]: DbHome is OraDB19000_home1
                            Status:  SUCCESS
                           Created:  January 8, 2026 8:59:48 AM HKT
                            Result:  All pre-checks succeeded

           Node Name
           ---------------
           node1

           Pre-Check                      Status   Comments
           ------------------------------ -------- --------------------------------------
           __DB__
           Validate DB Home ID             Success   Validated DB Home ID:
                                                     d03d5187-1c20-470a-9d51-49a0d6f60772
           Validate patching tag           Success   Validated patching tag: 19.30.0.0.0.
           Is system provisioned           Success   Verified system is provisioned
           Validate minimum agent version  Success   Validated minimum agent version
           Is GI upgraded                  Success   Validated GI is upgraded
           Validate available space for    Success   Validated free space required under
           db                                        /u01/app/odaorahome
           Validate dbHomesOnACFS          Success   User has configured diskgroup for
           configured                                Database homes on ACFS
           Validate Oracle base            Success   Successfully validated Oracle Base
           Is DB clone available           Success   Successfully validated clone file
                                                     exists
           Evaluate DBHome patching with   Success   Successfully validated updating
           RHP                                       dbhome with RHP.  and local patching
                                                     is possible
           Validate command execution      Success   Validated command execution

           __ORACHK__
           Running orachk                  Success   Successfully ran Orachk
           Validate command execution      Success   Validated command execution

           Node Name
           ---------------
           node2

           Pre-Check                      Status   Comments
           ------------------------------ -------- --------------------------------------
           __DB__
           Validate DB Home ID             Success   Validated DB Home ID:
                                                     d03d5187-1c20-470a-9d51-49a0d6f60772
           Validate patching tag           Success   Validated patching tag: 19.30.0.0.0.
           Is system provisioned           Success   Verified system is provisioned
           Validate minimum agent version  Success   Validated minimum agent version
           Is GI upgraded                  Success   Validated GI is upgraded
           Validate available space for    Success   Validated free space required under
           db                                        /u01/app/odaorahome
           Validate dbHomesOnACFS          Success   User has configured diskgroup for
           configured                                Database homes on ACFS
           Validate Oracle base            Success   Successfully validated Oracle Base
           Is DB clone available           Success   Successfully validated clone file
                                                     exists
           Evaluate DBHome patching with   Success   Successfully validated updating
           RHP                                       dbhome with RHP.
           Validate command execution      Success   Validated command execution

           __ORACHK__
           Running orachk                  Success   Successfully ran Orachk
           Validate command execution      Success   Validated command execution

       If the disk group for database homes on Oracle ACFS is not set up as described in step 17, then the prepatch report lists the error `The system is not set up to create database homes on ACFS`. Run the `odacli configure-dbhome-storage` command to configure the disk group for database homes on Oracle ACFS.
       Note that running the `odacli create-prepatchreport` command creates the target Oracle Grid Infrastructure home, which the database patching operation uses.
    2. If the pre-patch report does not show any errors, then update the database home to the latest release. You need not use the `-f` option with the `odacli update-dbhome` command. Note that you can use the `--local` option with the `odacli update-dbhome` command to update the local node.

           [root@oda1 opt]# /opt/oracle/dcs/bin/odacli update-dbhome --id DB_Home_ID -v release_number

       For example, for 19.30:

           [root@oda1 opt]# /opt/oracle/dcs/bin/odacli update-dbhome --id 7c67c5b4-f585-4ba9-865f-c719c63c0a6e -v 19.30.0.0.0

21. To patch a specific database to a specific database home:

    WARNING:

    When you patch your deployment from Oracle Database Appliance release 19.29 to Oracle Database Appliance release 19.30, if you see the error `DCS-10315 - Patch described in My Oracle Support Note KB867473 must be applied.` in the prepatch report, ensure that you follow the procedure described in My Oracle Support Note KB867473, and then use the `--force` option with the `odacli update-database` or `odacli update-dbhome` command.
    1. If you want patch selected databases in a database home to a specific database home using the `odacli update-database` command, then create the prepatch report first. Run the patching pre-checks and review the prepatch report. You must run the `odacli create-prepatchreport` command before you patch your Oracle database; otherwise, the `odacli update-database` command fails with an error message prompting you to run the patching pre-checks.

           [root@oda1 opt]# /opt/oracle/dcs/bin/odacli create-prepatchreport -db -dbid DATABASE_ID -to a68f9947-DB_HOME_ID

       For example, for 19.30:

           [root@oda1 ~]# odacli describe-prepatchreport -i efa93519-a365-4e9a-9f25-ad3c653cccef

           Patch pre-check report
           ------------------------------------------------------------------------
                            Job ID: efa93519-a365-4e9a-9f25-ad3c653cccef
                       Description: Patch pre-checks for [SINGLEDB, ORACHKSINGLEDB]: Target DB is db10181, Destination DbHome is OraDB19000_home8
                            Status: SUCCESS
                           Created: January 8, 2026 11:19:03 AM PDT
                            Result: All pre-checks succeeded

           Node Name
           ---------------
           node1

           Pre-Check Status Comments
           ------------------------------ -------- --------------------------------------
           __SINGLEDB__
           Is system provisioned Success Verified system is provisioned
           Validate dbHomesOnACFS Success User has configured disk group for
           configured Database homes on ACFS
           Validate Oracle base Success Successfully validated Oracle Base
           Evaluate DB clone availability Success Successfully validated clone file
                                                     exists
           Evaluate DB patching with RHP Success Successfully validated patching DB
                                                     with RHP.
           Validate command execution Success Validated command execution

           __ORACHK__
           Running orachk Success Successfully ran Orachk
           Validate command execution Success Validated command execution

           Node Name
           ---------------
           node2

           Pre-Check Status Comments
           ------------------------------ -------- --------------------------------------
           __SINGLEDB__
           Is system provisioned Success Verified system is provisioned
           Validate dbHomesOnACFS Success User has configured disk group for
           configured Database homes on ACFS
           Validate Oracle base Success Successfully validated Oracle Base
           Evaluate DB clone availability Success Successfully validated clone file
                                                     exists
           Evaluate DB patching with RHP Success Successfully validated patching DB
                                                     with RHP.
           Validate command execution Success Validated command execution

           __ORACHK__
           Running orachk Success Successfully ran Orachk
           Validate command execution Success Validated command execution

    2. If the pre-patch report does not show any errors, then update the databases to the latest release.

           [root@oda1 opt]# /opt/oracle/dcs/bin/odacli update-database -i database_ID/-n database_name -to destination_dbhome_ID

       For example, for 19.30:

           [root@oda1 opt]# /opt/oracle/dcs/bin/odacli update-database -i c05458c7-0f1d-4260-8e62-003b3ec26d74/-n db10181 -to dc98eaa9-289c-4710-a898-ca6287a07a9c
           [root@oda1 ~]# odacli describe-job -i d442a7d4-594f-48e2-8b02-9124811bb7b4

           Job details
           ----------------------------------------------------------------
                                ID: d442a7d4-594f-48e2-8b02-9124811bb7b4
                       Description: DB Patching: database ID is c05458c7-0f1d-4260-8e62-003b3ec26d74
                            Status: Success
                           Created: January 8, 2026 3:23:43 PM PDT
                           Message:

           Task Name Node Name Start Time End Time Status
           ---------------------------------------- ------------------------- ----------------------------------- ----------------------------------- ----------
           Creating wallet for DB Client node1 January 8, 2026 3:24:42 PM PDT January 8, 2026 3:24:42 PM PDT Success
           Patch databases by RHP node1 January 8, 2026 3:24:42 PM PDT January 8, 2026 3:29:34 PM PDT Success
           Updating database metadata node2 January 8, 2026 3:29:34 PM PDT January 8, 2026 3:29:34 PM PDT Success
           Set log_archive_dest for Database node1 January 8, 2026 3:29:34 PM PDT January 8, 2026 3:29:37 PM PDT Success
           Generating and saving BOM node1 January 8, 2026 3:29:37 PM PDT January 8, 2026 3:31:44 PM PDT Success
           Generating and saving BOM node2 January 8, 2026 3:29:37 PM PDT January 8, 2026 3:31:44 PM PDT Success
           TDE parameter update node2 January 8, 2026 3:32:25 PM PDT January 8, 2026 3:32:25 PM PDT Success

22. Confirm that the patch jobs are successful:

        [root@oda1 opt]# /opt/oracle/dcs/bin/odacli list-jobs

23. If you are patching your appliance from Oracle Database Appliance release 19.11 or earlier, then run the following steps. You must also run these steps if your appliance was previously patched to Oracle Database Appliance release 19.12 or later, but you did not run these steps when patching to release 19.12.
    1. After patching the bare metal systems and database homes, enable NUMA (Non-Uniform Memory Access) on existing databases of release 19.12 or earlier, by running the following SQL*Plus command:

           SQL> alter system set "_enable_numa_support"=true scope=spfile sid='*';

       Restart the database after running the command to ensure that the changes take effect.

       For more information about enabling NUMA, see the topic About Enabling NUMA on Oracle Database Appliance.

    2. If you have deployed DB systems, VMs, or CPU pools, perform the following steps:
       1. Run the `odacli remap-cpupools` command:

              [root@oda1 opt]# /opt/oracle/dcs/bin/odacli remap-cpupools

          If the `odacli remap-cpupools` command fails with the error `DCS-10001:Internal error encountered: Not enough physical CPUs available for CPU Pool 'cpupool_name' on node 'node_name`', run the `odacli remap-cpupools` command again with the `--use_reserved-cores` option. For information about the command options, see the chapter Oracle Database Appliance Command-Line Interface for KVM.

       2. If you have DB systems in your deployment, then run the `odacli modify-dbsystem` command. If you have VMs in your KVM deployment and you want to enable NUMA for the VMs, then run the `odacli modify-vm --enable-numa` command for VMs. That is:

          For DB systems:

              odacli modify-dbsystem --enable-numa

          For VMs:

              odacli modify-vm --enable-numa

    Note:

    For bare metal systems and DB systems on Oracle Database Appliance X7-2S and X8-2S, the database `init.ora` parameter `_enable_numa_support` is set to `FALSE` even when NUMA is enabled. This is expected because these hardware models are single socket systems.

Related Topics

- Patching Existing Database Homes Using ODACLI or the BUI
- Oracle Database Appliance Release Notes
- Resolving Errors When Updating DCS Components During Patching

Oracle Database Appliance Bare Metal System and KVM Patches
About Enabling NUMA on Oracle Database Appliance
Patching Oracle Database Appliance DB Systems Using the Command-Line
Managing Database Homes on Oracle ACFS Storage
About Creating Database Homes on Oracle ACFS Storage
odacli modify-vm
odacli remap-cpupools
odacli modify-dbsystem
odacli create-cpupool

Parent topic: Patching Oracle Database Appliance

### Patching Oracle Database Appliance DB Systems Using the Command-Line

Follow these steps to apply patches to your Oracle Database Appliance DB system deployment and existing Oracle Database home in the DB system, using CLI commands.

To patch your Oracle Database Appliance DB systems deployment and your existing database homes to the current release, you must download the Oracle Database Appliance Server Patch and update the bare metal system repository.

Note:

Run the commands in this topic in the same order as documented. Run the `odacli update-dcsadmin` and `odacli update-dcscomponents` commands before running the `odacli update-servercomponents` command.

Note:

Public network gateway must be responsive to ping requests. Oracle Clusterware uses the public network gateway as ping target to facilitate the VIP failover in Oracle Database Appliance high-availability environment.
Ensure that you have patched your Oracle Database Appliance bare metal deployment to release 19.30 before you patch your DB system.
Follow these steps to apply patches to your Oracle Database Appliance DB system deployment and update the existing database home in the DB system.

1. Ensure that the Oracle Database Appliance Server Patch for the ODACLI/DCS stack, Oracle Grid Infrastructure clone files, and Oracle Database clone files are available in the repository. Run the `odacli list-availablepatches` command in the bare metal system to view whether the clone files are available in the system.

       [root@oda1 opt]# odacli list-availablepatches

2. Connect to the DB system.
3. Update DCS admin:

       [root@dbsystem1 opt]# /opt/oracle/dcs/bin/odacli update-dcsadmin -v version

   For example, for 19.30:

       [root@oda1 opt]# /opt/oracle/dcs/bin/odacli update-dcsadmin -v 19.30.0.0.0

4. Update the DCS components:

       [root@oda1 opt]# /opt/oracle/dcs/bin/odacli update-dcscomponents -v version

   For example, for 19.30:

       [root@oda1 opt]# /opt/oracle/dcs/bin/odacli update-dcscomponents -v 19.30.0.0.0

   The `odacli update-dcscomponents` command updates Oracle HAMI, MySQL, and updates other DCS components such as the DCS framework, DCS CLI, and DCS controller on Oracle Database Appliance.

   Note:

   Note that for DCS framework update to be complete, the `odacli update-dcscomponents` command must be run. Ensure that both commands are run in the order specified in this procedure.
5. Run patching pre-checks. You must run the `odacli create-prepatchreport` command before you patch your server; otherwise, the `odacli update-servercomponents` command fails with an error message prompting you to run the patching pre-checks.

       [root@dbsystem1 opt]# /opt/oracle/dcs/bin/odacli create-prepatchreport -sc -v version

   For example, for 19.30:

       [root@dbsystem1 opt]# /opt/oracle/dcs/bin/odacli create-prepatchreport -sc -v 19.30.0.0.0

6. Verify that the patching pre-checks ran successfully:

       [root@dbsystem1 opt]# /opt/oracle/dcs/bin/odacli describe-prepatchreport -i ID

   For example:

       # odacli create-prepatchreport -v 19.30.0.0.0 -sc

       Job details
       ----------------------------------------------------------------
       ID: 4500de6d-d2f2-4bf1-bbc1-48b4d56fef0f
       Description: Patch pre-checks for [OS, ORACHKSERVER, SERVER] to 19.30.0.0.0
       Status: Created
       Created: January 22, 2026 10:44:07 PM TOT
       Message: Use 'odacli describe-prepatchreport -i 4500de6d-d2f2-4bf1-bbc1-48b4d56fef0f' to check details of results

       Task Name Start Time End Time Status
       ---------------------------------------- ---------------------------------------- ---------------------------------------- ----------------

       [root@oda1 ~]# odacli describe-prepatchreport -i 7f490943-bb74-4918-93fa-c22a5f0db287

       Prepatch Report
       ------------------------------------------------------------------------
                        Job ID:  7f490943-bb74-4918-93fa-c22a5f0db287
                   Description:  Patch pre-checks for [OS, ORACHKSERVER, SERVER] to 19.30.0.0.0
                        Status:  SUCCESS
                       Created:  January 22, 2026 10:44:07 PM TOT
                        Result:  All pre-checks succeeded

       Node Name
       ---------------
       oda1

       Pre-Check                      Status   Comments
       ------------------------------ -------- --------------------------------------
       __OS__
       Validate supported versions     Success   Validated minimum supported versions.
       Validate patching tag           Success   Validated patching tag: 19.30.0.0.0.
       Is patch location available     Success   Patch location is available.
       Verify OS patch                 Success   No dependencies found for RPMs being
                                                 removed, updated and installed. Check
                                                 /opt/oracle/dcs/log/jobfiles/
                                                 yumdryrunout_2025-11-22_22-45-
                                                 00.0551_475.log file for more details
       Validate command execution      Success   Validated command execution

       __ORACHK__
       Running orachk                  Success   Successfully ran Orachk
       Validate command execution      Success   Validated command execution

       __SERVER__
       Validate local patching         Success   Successfully validated server local
                                                 patching
       Validate all KVM ACFS           Success   All KVM ACFS resources are running
       resources are running
       Validate DB System VM states    Success   All DB System VMs states are expected
       Enable support for Multi-DB     Success   No need to convert the DB System
       Validate DB System AFD state    Success   AFD is not configured
       Validate command execution      Success   Validated command execution

       Node Name
       ---------------
       oda2

       Pre-Check                      Status   Comments
       ------------------------------ -------- --------------------------------------
       __OS__
       Validate supported versions     Success   Validated minimum supported versions.
       Validate patching tag           Success   Validated patching tag: 19.30.0.0.0.
       Is patch location available     Success   Patch location is available.
       Verify OS patch                 Success   No dependencies found for RPMs being
                                                 removed, updated and installed. Check
                                                 /opt/oracle/dcs/log/jobfiles/
                                                 yumdryrunout_2025-11-22_22-45-
                                                 22.0636_341.log file for more details
       Validate command execution      Success   Validated command execution

       __ORACHK__
       Running orachk                  Success   Successfully ran Orachk
       Validate command execution      Success   Validated command execution

       __SERVER__
       Validate local patching         Success   Successfully validated server local
                                                 patching
       Validate all KVM ACFS           Success   All KVM ACFS resources are running
       resources are running
       Validate DB System VM states    Success   All DB System VMs states are expected
       Enable support for Multi-DB     Success   No need to convert the DB System
       Validate DB System AFD state    Success   AFD is not configured
       Validate command execution      Success   Validated command execution

   Use the command `odacli describe-prepatchreport` to view details of the pre-patch report. Fix the warnings and errors mentioned in the report and proceed with the server patching.

7. Apply the server update. Note that you can use the `--local` option with the `odacli update-servercomponents` command to update the local node.

       [root@dbsystem1 opt]# /opt/oracle/dcs/bin/odacli update-servercomponents -v version

   For example, for 19.30:

       [root@dbsystem1 opt]# /opt/oracle/dcs/bin/odacli update-servercomponents -v 19.30.0.0.0

   You can use the `-f` option to override precheck failures and complete the server patching.

8. Confirm that the server update is successful:

       [root@dbsystem1 opt]# /opt/oracle/dcs/bin/odacli describe-job -i job_ID

9. Before you update the Oracle Grid Infrastructure home, run the `odacli create-prepatchreport` command with the `-gi` option.

       [root@oda1 opt]# /opt/oracle/dcs/bin/odacli create-prepatchreport -gi -v version

   For example, for 19.30:

       [root@oda1 opt]# /opt/oracle/dcs/bin/odacli create-prepatchreport -gi -v 19.30.0.0.0

10. Verify that the patching pre-checks ran successfully:

        [root@oda1 opt]# /opt/oracle/dcs/bin/odacli describe-prepatchreport

    For example:

        [root@oda1 ~]# odacli create-prepatchreport  -v 19.30.0.0.0 -gi

        Job details
        ----------------------------------------------------------------
                             ID:  67b03a56-a5a1-4aec-8342-2d0e040e15e5
                    Description:  Patch pre-checks for [RHPGI, GI] to 19.30.0.0.0
                         Status:  Created
                        Created:  January 14, 2026 10:27:15 PDT
                        Message:  Use 'odacli describe-prepatchreport -i 67b03a56-a5a1-4aec-8342-2d0e040e15e5' to check details of results

        Task Name                                Start Time                               End Time                                 Status
        ---------------------------------------- ---------------------------------------- ---------------------------------------- ----------------

        # odacli describe-prepatchreport -i c6a3cf36-71bd-4420-bcc8-4c26dfb496fc

        Prepatch Report
        ------------------------------------------------------------------------
                         Job ID:  c6a3cf36-71bd-4420-bcc8-4c26dfb496fc
                    Description:  Patch pre-checks for [RHPGI, GI] to 19.30.0.0.0
                         Status:  SUCCESS
                        Created:  January 23, 2026 6:42:22 AM TOT
                         Result:  All pre-checks succeeded

        Node Name
        ---------------
        oda1

        Pre-Check                      Status   Comments
        ------------------------------ -------- --------------------------------------
        __RHPGI__
        Evaluate GI patching            Success   Successfully validated GI patching
        Validate command execution      Success   Validated command execution

        __GI__
        Validate GI metadata            Success   Successfully validated GI metadata
        Validate supported GI versions  Success   Successfully validated minimum version
        Validate available space        Success   Validated free space under /u01
        Is clusterware running          Success   Clusterware is running
        Validate patching tag           Success   Validated patching tag: 19.30.0.0.0.
        Is system provisioned           Success   Verified system is provisioned
        Validate BM versions            Success   Validated BM server components
                                                  versions
        Validate kernel log level       Success   Successfully validated the OS log
                                                  level
        Validate minimum agent version  Success   GI patching enabled in current
                                                  DCSAGENT version
        [root@oda1 ~]# odacli describe-prepatchreport -i c6a3cf36-71bd-4420-bcc8-4c26dfb496fc

        Prepatch Report
        ------------------------------------------------------------------------
                         Job ID:  c6a3cf36-71bd-4420-bcc8-4c26dfb496fc
                    Description:  Patch pre-checks for [RHPGI, GI] to 19.30.0.0.0
                         Status:  SUCCESS
                        Created:  January 23, 2026 6:42:22 AM TOT
                         Result:  All pre-checks succeeded

        Node Name
        ---------------
        oda1

        Pre-Check                      Status   Comments
        ------------------------------ -------- --------------------------------------
        __RHPGI__
        Evaluate GI patching            Success   Successfully validated GI patching
        Validate command execution      Success   Validated command execution

        __GI__
        Validate GI metadata            Success   Successfully validated GI metadata
        Validate supported GI versions  Success   Successfully validated minimum version
        Validate available space        Success   Validated free space under /u01
        Is clusterware running          Success   Clusterware is running
        Validate patching tag           Success   Validated patching tag: 19.30.0.0.0.
        Is system provisioned           Success   Verified system is provisioned
        Validate BM versions            Success   Validated BM server components
                                                  versions
        Validate kernel log level       Success   Successfully validated the OS log
                                                  level
        Validate minimum agent version  Success   GI patching enabled in current
                                                  DCSAGENT version
        Validate Central Inventory      Success   oraInventory validation passed
        Validate patching locks         Success   Validated patching locks
        Validate clones location exist  Success   Validated clones location
        Validate command execution      Success   Validated command execution

        Node Name
        ---------------
        oda2

        Pre-Check                      Status   Comments
        ------------------------------ -------- --------------------------------------
        __RHPGI__
        Validate command execution      Success   Validated command execution

        __GI__
        Validate GI metadata            Success   Successfully validated GI metadata
        Validate supported GI versions  Success   Successfully validated minimum version
        Validate available space        Success   Validated free space under /u01
        Is clusterware running          Success   Clusterware is running
        Validate patching tag           Success   Validated patching tag: 19.30.0.0.0.

    Fix the warnings and errors mentioned in the report and proceed with the patching operation.

11. Update the Oracle Grid Infrastructure home and components. Note that you can use the `--local` option with the `odacli update-gihome` command to update the local node.

        [root@oda1 opt]# /opt/oracle/dcs/bin/odacli update-gihome -v version

    For example, for 19.30:

        [root@oda1 opt]# /opt/oracle/dcs/bin/odacli update-gihome -v 19.30.0.0.0

12. To patch existing Oracle Database Homes to release 19.30:

    WARNING:

    When you patch your deployment from Oracle Database Appliance release 19.29 to Oracle Database Appliance release 19.30, if you see the error `DCS-10315 - Patch described in My Oracle Support Note KB867473 must be applied.` in the prepatch report, ensure that you follow the procedure described in My Oracle Support Note KB867473, and then use the `--force` option with the `odacli update-database` or `odacli update-dbhome` command.
    1. On the bare metal system, run the command `odacli describe-dbsystem-image` to check that the repository is updated with the required Oracle Database clone files. If the database clone file is not displayed in the command output, then run the command `odacli update-repository` on the bare metal system to update the repository with the database clone files:

           [root@oda1 opt]# /opt/oracle/dcs/bin/odacli update-repository -f /tmp/DB_software_file

           [root@oda1 opt]# /opt/oracle/dcs/bin/odacli update-repository -f /tmp/odacli-dcs-19.30.0.0.0-date-DB-19.30.0.0.zip

    2. Run the patching pre-checks and review the prepatch report. You must run the `odacli create-prepatchreport` command before you patch your Oracle Database homes; otherwise, the `odacli update-dbhome` command fails with the error message prompting you to run the patching pre-checks.

           [root@dbsystem1 opt]# /opt/oracle/dcs/bin/odacli create-prepatchreport --dbhome --dbhomeid DB_Home_ID -v release_number
           [root@dbsystem1 opt]# odacli describe-prepatchreport -i Job_ID

           [root@dbsystem1 opt]# /opt/oracle/dcs/bin/odacli create-prepatchreport --dbhome --dbhomeid 7c67c5b4-f585-4ba9-865f-c719c63c0a6e -v 19.30.0.0.0
           [root@dbsystem1 opt]# odacli describe-prepatchreport -i 39ef1eeb-70d3-47ad-b3f5-48960ca0607b

       Alternatively, you can use the odacli update-database to update the databases in your deployment:

           [root@dbsystem1 opt]# odacli create-prepatchreport --database --database-id database_ID --to-home dest_dbhome_ID
           [root@dbsystem1 opt]# odacli update-database --id database_ID --to-home dest_dbhome_ID

    3. If there are no errors, then update the database home to the latest release. You need not use the `-f` option with the `odacli update-dbhome` command. Note that you can use the `--local` option with the `odacli update-dbhome` command to update the local node. You can also use the `--node` option to specify the node containing the database to update.

           [root@dbsystem1 opt]# /opt/oracle/dcs/bin/odacli update-dbhome --id DB_Home_ID -v release_number

       For example, for 19.30:

           [root@dbsystem1 opt]# /opt/oracle/dcs/bin/odacli update-dbhome --id 7c67c5b4-f585-4ba9-865f-c719c63c0a6e -v 19.30.0.0.0

13. Confirm that the patch jobs are successful:

        [root@dbsystem1 opt]# /opt/oracle/dcs/bin/odacli list-jobs

About Enabling NUMA on Oracle Database Appliance
odacli modify-vm
odacli remap-cpupools
odacli modify-dbsystem
odacli create-cpupool
odacli describe-dbsystem-image

Parent topic: Patching Oracle Database Appliance

### Patching Oracle Database Appliance Bare Metal Systems Using the Browser User Interface

Upload the Oracle Database Appliance Server Patch to the patch repository, deploy the patch bundle, and then update the DCS admin, DCS components, server, and storage using BUI.

Updating the Patch Repository Using the Browser User Interface (BUI)

1. Download the Oracle Database Appliance patches from My Oracle Support and save them in a directory on the appliance. See the Oracle Database Appliance Release Notes for a list of available patches and links to download the patches.

2. Log into the Browser User Interface.

       https://Node0–host-ip-address:7093/mgmt/index.html

3. Click Repository Manager.

4. In the Update Patch Repository page, enter the absolute file path and patch name, then click Update Repository to start the update repository job. You can list more than one file to update to the repository with a comma separated list, without spaces, or you can update each file, one at a time.

5. Click Activity to monitor the progress. When the job completes successfully, the Patch Repository is updated.

Updating the DCS Admin and DCS Components, Running Patching Prechecks, and Patching Server and Storage Using BUI

1. Do not have any jobs running or pending during the update window.

2. In the BUI, click the Appliance tab, and then click Infrastructure Patching on the lefthand pane.

3. In the DCSADMIN section, view the Component Details. If you just updated the Patch Repository, click Refresh.

   After the patch is uploaded to the Patch Repository, the Component Details on the page are updated with the Installed Version and Available Version for each component.

4. Click Apply Patch to update the DCS admin. When prompted to confirm the update, click Update.

   When the job finishes, go to the next step. Click View Jobs for the job status.

5. In the DCSCOMPONENTS section, view the Component Details. If you just updated the Patch Repository, click Refresh.

   After the patch is uploaded to the Patch Repository, the Component Details on the page are updated with the Installed Version and Available Version for each component.

6. Click Apply Patch to update the DCS components. When prompted to confirm the update, click Update.

   When the job finishes, go to the next step. Click View Jobs for the job status.

7. In the SERVERCOMPONENTS section, view the Component Details. If you just updated the Patch Repository, click Refresh. Click Precheck to run patching prechecks. You must run the patching prechecks before updating the server components. Select the Rollback on Failure checkbox to rollback the updates if the job fails. Click View Pre-Check Reports to view the patching prechecks report. If there are no errors in the report, then click Apply Patch to begin the job to patch the server components. Select the Rollback on Failure checkbox to rollback the updates if the job fails.

   For high-availability systems, when updating the server on the bare metal system, you can select the Node to Update. You can choose the node that you want to update or you can choose to update both nodes.

   When the job finishes, go to the next step. Click View Jobs for the job status.

8. In the GI section, click Refresh to refresh the Oracle Grid Infrastructure details. Click Precheck to run patching prechecks. You must run the patching prechecks before updating the storage components. Click View Pre-Check Reports to view the patching prechecks report. If there are no errors in the report, then click Apply Patch to begin the job to patch the Oracle Grid Infrastructure components.

   Select the Force Run check box to ignore errors and apply the patch. Select the Ignore CVU Postcheck Failures check box to ignore CVU failures. Click Update.

   Click View Jobs for the job status.

9. In the STORAGE section, click Refresh to refresh the Component Details. Click Precheck to run patching prechecks. You must run the patching prechecks before updating the storage components. Click View Pre-Check Reports to view the patching prechecks report. If there are no errors in the report, then click Apply Patch to begin the job to patch the storage components. When prompted to confirm the update, click Update. Click View Jobs for the job status.

   For high-availability environment, you can select the Rolling check box to perform rolling patching of storage components.

Parent topic: Patching Oracle Database Appliance

### Patching Oracle Database Appliance DB Systems Using the Browser User Interface

Upload the Oracle Database Appliance Server Patch to the patch repository, deploy the patch bundle using the Browser User Interface, and then update the DCS admin and components using CLI commands.

Updating the Patch Repository Using the Browser User Interface

1. Download the Oracle Database Appliance patches from My Oracle Support and save them in a directory on the appliance. See the Oracle Database Appliance Release Notes for a list of available patches and links to download the patches.

2. Log into the Browser User Interface within the bare metal system, with the `oda-admin` user name and password.

       https://Node0–host-ip-address:7093/mgmt/index.html

3. Click the Appliance tab, and then click Infrastructure Patching on the lefthand pane.

4. In the Update Repository tab, on the Update Patch Repository page, enter the absolute file path and patch name, then click Update Repository to start the update repository job. You can list more than one file to update to the repository with a comma separated list, without spaces, or you can update each file, one at a time.

5. Click Activity to monitor the progress. When the job completes successfully, the Patch Repository is updated.

Updating the DCS Admin and DCS Components After Updating the Repository and Before Patching

Before patching your DB system using the Browser User Interface, you must update the DCS admin and DCS components manually, through ODACLI commands.

Follow these steps:

1. In the BUI, click Appliance and then click Infrastructure Patching on the lefthand pane.
2. Using ODACLI, update the DCS admin and DCS components:

       [root@oda1 opt]# /opt/oracle/dcs/bin/odacli update-dcsadmin  -v 19.30.0.0.0
       [root@oda1 opt]# /opt/oracle/dcs/bin/odacli update-dcscomponents -v 19.30.0.0.0

   If the DCS components are updated, then the message `"status" : "Success"` is displayed on the command line. For failed updates, fix the error and then proceed with the update.

   Note:

   You must log into the Browser User Interface again after running the `odacli update-dcscomponents` command.

Running Patching Prechecks and Patching Server and Storage Components Using the Browser User Interface

1. Do not have any jobs running or pending during the update window.

2. Log into the Browser User Interface within the DB system with the `oda-admin` user name and password.

       https://Node0–host-ip-address:7093/mgmt/index.html

3. Click the Appliance tab, and then click Infrastructure Patching on the lefthand pane.

4. In the SERVERCOMPONENTS section, view the Component Details. If you just updated the Patch Repository, click Refresh.

   After the patch is uploaded to the Patch Repository, the Component Details on the page are updated with the Installed Version and Available Version for each component.

5. Click Precheck to run patching prechecks. You must run the patching prechecks before updating the server and other components. Click View Pre-Check Reports to view the patching prechecks report. If there are no errors in the report, then click Apply Patch to begin the job to patch the server components. For high-availability systems, when updating the server on the bare metal system, you can select the Node to Update. You can choose the node that you want to update or you can choose to update both nodes.

   When the job finishes, go to the next step. Click View Jobs for the job status.

6. In the GI section, click Refresh to refresh the Oracle Grid Infrastructure details. Click Precheck to run patching prechecks. You must run the patching prechecks before updating the storage components. Click View Pre-Check Reports to view the patching prechecks report. If there are no errors in the report, then click Apply Patch to begin the job to patch the Oracle Grid Infrastructure components.

   Select the Force Run check box to ignore errors and apply the patch. Select the Ignore CVU Postcheck Failures check box to ignore CVU failures. Click Update.

   Click View Jobs for the job status.

7. In the STORAGE section, click Refresh to refresh the Component Details. Click Precheck to run patching prechecks. You must run the patching prechecks before updating the storage components. Click View Pre-Check Reports to view the patching prechecks report. If there are no errors in the report, then click Apply Patch to begin the job to patch the storage components. Click View Jobs for the job status.

   For high-availability environment, you can select the Rolling check box to perform rolling patching of storage components.

8. Click Activity to monitor the progress, and verify that the job completes successfully.

Parent topic: Patching Oracle Database Appliance

### Updating Oracle Database Appliance Repository with Database Clone Files For Bare Metal Systems

Follow these steps to update the Oracle Database Appliance repository with Oracle Database clone files for the latest release using CLI commands.

To create new databases of a specific release version, you must update the Oracle Database Appliance repository with the Oracle Database clone files for a release. Follow these steps to update the repository with Oracle Database clone files for the latest release.

1. Download the Oracle Database clone software file for a release, for example, `p30403662_1930000_Linux-x86-64.zip`, and extract the Oracle Database clone software:
   For example, download the Oracle Database clone software patch for 19.30:

       unzip /tmp/p30403662_1930000_Linux-x86-64.zip
       odacli-dcs-19.30.0.0.0-date-DB-19.30.0.0.zip

2. Copy all the software files from the external client to Oracle Database Appliance. For High-Availability deployments, copy the software files to only one node. The software files are copied to the other node during the patching process. Use the `scp` or `sftp` protocol to copy the bundle.
   Example using `scp` command:

       # scp software_file root@oda_host:/tmp

   Example using `sftp` command:

       # sftp root@oda_host

   Enter the `root` password, and copy the files.

       put software_file

3. Update the repository with latest release database software:

       [root@oda1 opt]# /opt/oracle/dcs/bin/odacli update-repository -f /tmp/odacli-dcs-db-clone-file.zip/

   For example, for 19.30:

       [root@oda1 opt]# /opt/oracle/dcs/bin/odacli update-repository -f /tmp/odacli-dcs-19.30.0.0.0-date-DB-19.30.0.0.zip

   Follow the same steps to update the repository with the database clone software for other supported database versions.
4. Confirm that the repository update is successful:

       [root@oda1 opt]# /opt/oracle/dcs/bin/odacli list-jobs
       [root@oda1 opt]# /opt/oracle/dcs/bin/odacli describe-job -i job_ID

5. Delete the software zip files from the temporary location on the appliance to save space:

       [root@oda1 opt]# rm software_file
       rm: remove regular file software_file? y

Parent topic: Patching Oracle Database Appliance

### Patching Databases Using ODACLI Commands or the BUI

Use ODACLI commands or the Browser User Interface to patch databases to the latest release in your deployment.

Before patching the database home, upload the Oracle Database clone files for the database version, to the repository. See Updating Oracle Database Appliance Repository with Database Clone Files Using the CLI for the procedure to update the repository with the latest Oracle Database clone files.

Important:

You must run the `odacli create-prepatchreport` command before you patch the Oracle databases; otherwise, the `odacli update-database` command fails with an error message prompting you to run the patching pre-checks.

Patching Databases on Oracle Database Appliance using ODACLI Commands

Run the following command to patch a database using the CLI:

    odacli update-database [-a] [-dp] [-f] [-i db_id] [-imp] [-l] [-n db_name] [-ni node] [-r] [-to db_home_id] [-j] [-h]

For more information about the options for the `update-database` command, see the chapter Oracle Database Appliance Command-Line Interface.

Patching Databases on Oracle Database Appliance using BUI

1. Log into the Browser User Interface with the `oda-admin` user name and password.

       https://Node0–host-ip-address:7093/mgmt/index.html

2. Navigate to the Database tab.
3. Select the database you want to patch.
4. Click Update.
5. If you select Apply Data Patch, then the Data Patch for the specified database is applied and you cannot select any other options.
6. On a high-availability system, you can also select the node in the Select Node to Update list.
7. Select Ignore Missing Patches to ignore missing patches.
8. Select Force Run to force the operation to run.
9. Select the destination database home.
10. In the Patching Options
    - Abort: To abort previously unfinished or failed patching operation.
    - Revert: To revert previously unfinished or failed patching operation.
    - None: To patch the database.
11. Click Update.
12. If you have not run the pre-checks earlier, then an error is displayed when you submit the job to update the database.
13. In the Database page, select the Database and then click Precheck to run pre-checks for patching the database.
    Click Activity for job status.
14. In the Database page, for the database to be patched, click Actions and select View Pre-patch reports to view the pre-check report. Fix any errors, and then select Action as Apply to patch the database.
15. Verify that the patching job completes successfully.

Parent topic: Patching Oracle Database Appliance

### Patching Existing Database Homes Using ODACLI or the BUI

Use ODACLI or BUI to patch database homes in your deployment to the latest release.

Before patching the database, upload the Oracle Database clone files for the database version, to the repository. See Updating Oracle Database Appliance Repository with Database Clone Files Using the CLI for the procedure to update the repository with the latest Oracle Database clone files.

Patching Database Homes on Oracle Database Appliance using ODACLI Commands

Run the following command to patch a database home using the CLI:

    odacli update-dbhome -i dbhome_id -v version [-f] [-imp] [-p] [-l] [-u node_number] [-j] [-h]

For more information about the options for the `update-dbhome` command, see the chapter Oracle Database Appliance Command-Line Interface.

Patching Database Homes on Oracle Database Appliance using BUI

1. Log into the Browser User Interface with the `oda-admin` user name and password.

       https://Node0–host-ip-address:7093/mgmt/index.html

2. Navigate to the Database Home tab.
3. Select the database home you want to patch.
4. Select the Patch Version for the database home.
5. To patch multiple database homes, select each database home to be patched and the patch version for each database home.
6. Select the Node to Update. You can choose the node that you want to update or you can choose to update all nodes.
7. Click Patch. Select Precheck to run pre-checks before patching the database.
   Click Activity for job status.
8. On the Patch page, for the database to be patched, click Actions and select View Pre-patch reports to view the pre-check report. Fix any errors, and then select Action as Apply to patch the database.
9. Select Ignore Precheck Failures to ignore failures reported in the prechecks reported. It is recommended that you fix errors reported in the precheck results.
10. Select Ignore Missing Patches to ignore missing patches.
11. Verify that the patching job completes successfully.

Related Topics

- Patching Oracle Database Appliance Bare Metal Systems Using the Command-Line
- Oracle Database Appliance Release Notes

Parent topic: Patching Oracle Database Appliance

### Patching Non-Provisioned Oracle Database Appliance Systems

Oracle Database Appliance supports patching of non-provisioned single-node or high availablity systems by running `odacli update-servercomponents` command.

A non-provisioned Oracle Database Appliance system does not have Oracle Grid Infrastructure or Oracle Database installed or running on it. You can upgrade Oracle ILOM and storage firmware on an unprovisioned system without running the `odacli create-appliance` command by reimaging the system using the bare metal ISO image of Oracle Database release 19.26 or later. Then patch the system with the server patches of the same release as the bare metal ISO image by running the `odacli update-servercomponents` command. When you reimage your system, the DCS infrastructure is updated automatically.
Follow these steps to update the firmware:

1. Reimage the Oracle Database Appliance using the bare metal ISO image for Oracle Database Appliance release 19.29 or later.
2. Update the repository with the server patch for the Oracle Database Appliance release you want to patch to, for example 19.29 or later.
3. For running `odacli update-servercomponents` on Oracle Database Appliance imaged with ISO of release 19.29:

       odacli update-servercomponents -v 19.29.0.0.0 -sko -f

   For Oracle Database Appliance release 19.29 or later, you can use the `-sko` option to skip ORAchk failures and proceed with the server patching, and the `-f` option to override precheck failures and complete the server patching.

Parent topic: Patching Oracle Database Appliance

### Applying Additional Patches and Updates on Bare Metal Systems

Configure additional patch repositories and patch your operating system and databases to ensure that your deployment has the latest updates and security fixes.

- Enabling Kernel Updates
  Oracle Ksplice enables you to update your systems with the latest kernel security and bug fix updates.
- Applying Out-of-Cycle Database Patches
  The out-of-cycle patching feature enables administrators to patch databases in the Oracle Database Appliance deployment with the latest Oracle Database Release Update, outside of the Oracle Database Appliance releases.

Parent topic: Patching Oracle Database Appliance

#### Enabling Kernel Updates

Oracle Ksplice enables you to update your systems with the latest kernel security and bug fix updates.

You can download and install the latest Oracle Ksplice updates (uptrack-updates) with either the local ULN repository or ULN channel.
Follow these steps to install Oracle KSplice:

1. Register your server with Unbreakable Linux Network (ULN). By default, you are registered for the Oracle Linux Latest channel for your operating system and hardware.
2. Log in to Unbreakable Linux Network:
   https://www.oracle.com/in/linux/
3. Ensure that you have access to the Internet on the server where you want to use Ksplice. For example, if you are using a proxy server, then set the proxy server and port values in the shell with commands similar to the following:

       # export http_proxy=http://proxy.company.com:port
       # export https_proxy=http://proxy.company.com:port

4. Register the server:

       # uln_register

5. Set up the local repository as described in the Oracle Ksplice user documentation. This enables you to download the latest Ksplice update packages at regular intervals without requiring a direct connection to the Oracle Uptrack server or to ULN.
6. To update a system to a specific effective kernel version, install the `uptrack-updates` package for the current kernel.

       yum -y install uptrack-updates-'uname -r'

   You can also download the `uptrack-updates` RPM from the Ksplice channel and install the RPM manually. For example:

       # rpm -Uvh uptrack-updates-4.14.35-1902.11.3.1.el7uek.x86_64-20200325-0.noarch.rpm

See Also:

Oracle Linux Ksplice User's Guide for information about configuring Oracle Ksplice at:

https://docs.oracle.com/en/operating-systems/oracle-linux/

Parent topic: Applying Additional Patches and Updates on Bare Metal Systems

#### Applying Out-of-Cycle Database Patches

The out-of-cycle patching feature enables administrators to patch databases in the Oracle Database Appliance deployment with the latest Oracle Database Release Update, outside of the Oracle Database Appliance releases.

You can apply Oracle Database Release Update (RU) patches manually using OPatch. Refer to the relevant section in this topic to run the OPatch for your database version.

Note:

The OPatch commands and procedures described in this topic are examples, and may need modifications based on a specific Oracle Database Release Update (RU). Always refer to the Readme of the Oracle Database Release Update (RU) for additional commands and steps.

Note:

It is strongly recommended that you patch your deployment through the Oracle Database Appliance releases, whenever possible.

Note:

You can apply out-of-cycle patches to baremetal and DB system deployments using this procedure.

Using OPatchauto to Manually Patch Oracle Database Release 12c and Later

1. Confirm that the `dcs-agent` and other components are updated to the latest release.

       # odacli describe-component
       # odacli list-dbhomes

2. Update OPatch to the latest version, if available:
   1. Download the latest OPatch version from My Oracle Support.
   2. Copy the files to the local host and extract them to the `ORACLE_HOME/OPatch` directory.
   3. Update the OPatch tool as `oracle` user.

          /bin/rm -rf $ORACLE_HOME/OPatch/
          su - oracle -c /usr/bin/unzip -q -o OPatch_zip_location/p6880880_122010_Linux-x86-64.zip -d $ORACLE_HOME

3. Download the latest database patches from My Oracle Support and copy the files to the local host.

       scp patchfilename root@hostname:directory

4. Unzip patches to an empty directory, for example, `/tmp/patchesDir` as `oracle` user.

   This creates sub directories under `/tmp/patchesDir` with bug numbers. If the patch you are applying is a Release Update (RU), then the patch directory has multiple sub-directories.

       /usr/bin/unzip -o location_of_patches/p29301631_180000_Linux-x86-64.zip -d /tmp/patchesDir

5. For Oracle Database Appliance High-Availability deployments, set up SSH Keys for secure connection.
6. Analyze the patches.

       $ORACLE_HOME/OPatch/opatchauto apply directory_with_patches_extracted -analyze -oh $ORALCE_HOME -log /tmp/opatchAutoAnalyzePatch.log

7. As `root` user, apply the patches.

       $ORACLE_HOME/OPatch/opatchauto apply directory_to_extract_patches -oh $ORACLE_HOME -inplace

8. When patching is completed on both nodes, run `utlrp.sql` and `catcon.pl` scripts to recompile invalid objects in the database.
9. Update the registry to ensure that system component values are registered.

       # odacli update-registry -n dbhome -f

Parent topic: Applying Additional Patches and Updates on Bare Metal Systems

### Cleaning Up the Patch Repository

Use the Browser User Interface or Command Line Interface to delete obsolete or old patches from the repository.

About Cleaning Up the Patch Repository

After patching Oracle Database Appliance with the latest patches, old unused clone files may remain and consume space in the repository. Cleanup repository deletes the unused clone/patch files to reclaim space. You can clean up the repository using the Browser User Interface or ODACLI commands.

Cleaning Up the Patch Repository Using ODACLI command

    # odacli cleanup-patchrepo [-cl clones] | [-v version [-comp component]]| [-l local|-n NodeID]

Specify the clone file names and the node from which you want to delete the old patches.

For details about the command options, see the chapter Oracle Database Appliance Command-Line Interface.

Cleaning Up the Patch Repository Using the Browser User Interface

Follow these steps to clean up the patch repository:

1. In the Browser User Interface, click Patch Manager.
2. Click the Cleanup Repository tab, and then click Refresh to list the available patches in the repository.
3. Select the Components, such as old Oracle Grid Infrastructure or Oracle Database clone files that you want to clean up from the repository, and the Patch Version, for example, an older release of Oracle Database Appliance.
4. Click Cleanup Clone Files to clean up clone files for selected components from the repository at `/opt/oracle/oak/pkgrepos/orapkgs/clones/`.
5. Click Cleanup Repository to submit the cleanup repository job.
6. Click Activity to monitor the progress. When the job completes successfully, the Patch Repository is updated.

Related Topics

- odacli cleanup-patchrepo

Parent topic: Patching Oracle Database Appliance

### About Upgrading Oracle Databases on Oracle Database Appliance

Understand how to upgrade databases using either the Browser User Interface or `odacli` commands.

Prerequisites for Upgrading Databases

Before upgrading databases, upload the Oracle Database clone files for the database version, to the repository, and then create the database home. See Patching Oracle Database Appliance Using the CLI for the procedure to update the repository with the latest Oracle Database clone files.

About Upgrading Databases Using the Browser User Interface

Follow these steps to upgrade a database using the Browser User Interface.

1. Log into the Browser User Interface with the `oda-admin` user name and password.

       https://Node0–host-ip-address:7093/mgmt/index.html

2. Click the Database tab, and then select a database, click Actions, and then click Upgrade.
3. Verify that the database upgrade job completes successfully.

About Upgrading Databases Using the Command-Line Interface

Run the following command to upgrade a database using the CLI:

    odacli upgrade-database -i Comma separated list of database ids -from source dbhome id -to destination dbhome id [-j] [-h]

For more information about the options for the `upgrade-database` command, see the chapter Oracle Database Appliance Command-Line Interface.

Parent topic: Patching Oracle Database Appliance

### Setting Dynamic Default Parameters

You can set dynamic default parameters using the BUI.

Setting Dynamic Default Parameters Using the Browser User Interface

Follow these steps:

1. From the Appliance page, click Parameter Repository.
2. The Parameter Repository page lists all the parameters in the repository. Currently, parameters of type RDBMS are supported.
3. Select Update Parameter to create a new configuration property.
4. In the Update Parameter page, specify the Parameter Name and Value, and provide an optional Description. Specify whether you want to create the parameter for the Bare Metal or DB System. You can also specify the whether the parameter applies to All DB Systems or you can select the DB system for which you want to create the parameter.
5. Click OK.
6. Confirm the action to submit the job. Monitor the job progress and check that it completes successfully.
7. To update a parameter, select the Update option from the Actions menu.
8. You can edit the Value, Description, and select whether the parameter applies to Bare Metal or DB System. You can also select the DB system for which you want to update the parameter or choose to apply the parameter to All DB Systems.
9. Click Update.
10. To delete a parameter, select the Delete option from the Actions menu. You can delete the parameter from the Bare Metal or DB System. You can also select the DB system for which you want to delete the parameter or choose to delete the parameter from All DB Systems.
11. Click Delete.

Parent topic: Patching Oracle Database Appliance