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

Patches offer new features and may improve the functionality of existing features.

About Oracle Database Appliance Patch Bundles

The Oracle Database Appliance Patch Bundle contains the latest patches for DCS Admin, DCS Components, OAK, Oracle Grid Infrastructure, Oracle Database homes, 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 the Oracle Database Appliance Release Notes for the upgrade paths.

Caution:

Do not patch Oracle Database Appliance using individual 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 Oracle Database Appliance inventory 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 follow the recommendations described in the Readme for the RU.

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

  • BIOS

  • Hardware drivers

  • Hardware Management Pack (HWM) and firmware drivers for various components

  • Oracle Appliance Manager

  • Oracle Linux

  • Oracle VM Server

  • Java Development Kit (JDK)

  • Oracle Integrated Lights Out Manager (Oracle ILOM)

  • Oracle Database Bundle Patch (BP), Oracle Database Patch Set Update (PSU), and Oracle Database Release Update (RU)

  • Oracle Auto Service Request (Oracle ASR)

  • Oracle Grid Infrastructure

  • 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 database nodes. 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.

Caution:

For database nodes, 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.

About Patching Pre-Checks

Patching pre-checks are designed to detect and flag problems that might be encountered during patching.

The pre-checks 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.

The pre-checks commands are available on Oracle Database Appliance release 12.2.1.2.0 or later. Update the DCS agent to support the pre-checks commands.

Note:

Patching pre-checks are available only when patching ODACLI stack. If you are patching and migrating from OAKCLI to ODACLI stack for bare metal system, then follow the procedure in the topic Patching Oracle Database Appliance Bare Metal Systems Using the Command-Line. For patching Virtualized Platform, see the topic Patching Oracle Database Appliance Virtualized Platform.

Components Verified by Patching Pre-Checks

Check Component Verified
System patching pre-checks

Checks that the agent is online on all nodes

Checks that there is sufficient space for the update

Validates the minimum agent version and validates the patching tag

Confirms that a valid patch is in the repository and calculates the patch bundle md5 checksum

Server patching pre-checks

Confirms that Oracle Grid Infrastructure patch is installed

Confirms that Oracle Clusterware is running on all nodes

Performs a check for required components using opatch prereq checkcomponents

Analyzes the patch using opatchauto

Performs a patch conflict check

Checks the available disk space

Confirms that the yum repository directory exists

Performs a yum check and yum check-update

Performs a test (dry run) yum update to check for dependencies in the RPMs

DBHome patching pre-checks

Confirms that the Oracle Grid Infrastructure is installed

Confirms that Oracle Clusterware is running on all nodes

Confirms that the Oracle Grid Infrastructure is upgraded before upgrading other components

Validates that there is sufficient space available in local mount

Performs a check for required components using opatch prereq checkcomponents

Analyzes the patch using opatchauto

Performs a patch conflict check and determines if a rollback of database patches is required

Storage pre-checks

Validates storage patch location and tag

Validates Oracle ASM disk groups status

Running Patching Pre-Checks Before Applying Patches

After updating the repository with patches, use the pre-checks to reduce potential update problems, and then apply patches.

Note:

Follow the procedure in this topic only when patching ODACLI stack. If you are patching and migrating from OAKCLI to ODACLI stack for bare metal system, then follow the procedure in the topic Patching Oracle Database Appliance Bare Metal Systems Using the Command-Line. For patching Virtualized Platform, see the topic Patching Oracle Database Appliance Virtualized Platform.
Before running the patching pre-checks, ensure that the dcs-agent is updated.
  1. Run the create-prepatchreport command to generate a pre-check report.
    odacli create-prepatchreport -s -v release_number
  2. Run the describe-prepatchreport command to display the pre-check report.
    odacli describe-prepatchreport -i job_ID

Upgrading Oracle Linux on Oracle Database Appliance Before Patching the Server

Before patching your deployment to Oracle Database Appliance release 19.6, you must upgrade the operating system to Oracle Linux 7.

Download the 19.6.0.0.0 Oracle Database Appliance Server Patch and the 19.6.0.1.0 DCS agent patch, and update the repository with these files for Oracle Database Appliance release 19.6. To ensure successful operating system upgrade, you must download and deploy the 19.6.0.1.0 DCS agent patch along with the 19.6.0.0.0 Oracle Database Appliance Server Patch. Free up space in the patch repository using the command odacli cleanup-patchrepo, before you start patching your deployment.
The Oracle Database Appliance Backup Recovery (ODABR) tool helps recover a system to the pre-upgrade state, should any potential errors occur during the operating system upgrade that may render the system unusable. Download and install the latest version of the Oracle Database Appliance Backup Recovery (ODABR) tool to enable creation of snapshots for the operating system file systems. See My Oracle Support Note 2466177.1 for the procedure to install ODABR.

https://support.oracle.com/rs?type=doc&id=2466177.1

Follow these steps to upgrade the operating system to Oracle Linux 7 on Oracle Database Appliance bare metal deployment, using CLI commands. You must upgrade the operating system on the first node successfully, the upgraded node is rebooted automatically, and then you must upgrade the operating system on the other node.
  1. Download the Oracle Database Appliance Server Patch for the ODACLI/DCS stack (patch 31010832) and the 19.6.0.1.0 DCS agent patch (patch 31723973) from My Oracle Support to a temporary location on an external client. Refer to the release notes for details about the software for the latest release.
    For example, download the server patch for 19.6:
    p31010832_196000_Linux-x86-64_1of4.zip
    p31010832_196000_Linux-x86-64_2of4.zip
    p31010832_196000_Linux-x86-64_3of4.zip
    p31010832_196000_Linux-x86-64_4of4.zip
    p31723973_196010_Linux-x86-64.zip
  2. Unzip the software — it contains README.html and one or more zip files for the patch.
    unzip p31010832_196000_Linux-x86-64_1of4.zip
    unzip p31010832_196000_Linux-x86-64_2of4.zip
    unzip p31010832_196000_Linux-x86-64_3of4.zip
    unzip p31010832_196000_Linux-x86-64_4of4.zip
    unzip p31723973_196010_Linux-x86-64.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. Log into the Oracle ILOM Service Processor (SP) serial console and run start /SP/console.
    Run the following steps in this procedure from the Oracle ILOM Service Processor (SP) serial console.
    -> start /SP/console
    Are you sure you want to start /SP/console (y/n)? y

    You are connected to the Oracle ILOM Service Processor (SP) serial console. Log in as the root user.

  5. Update the repository with the server software:
    # /opt/oracle/dcs/bin/odacli update-repository -f /tmp/software_file1,/tmp/software_file2,/tmp/software_file3,/tmp/software_file4 

    For example, for 19.6:

    # /opt/oracle/dcs/bin/odacli update-repository -f /tmp/oda-sm-19.6.0.0.0-200420-server1of4.zip,/tmp/oda-sm-19.6.0.0.0-200420-server2of4.zip,/tmp/oda-sm-19.6.0.0.0-200420-server3of4.zip,/tmp/oda-sm-19.6.0.0.0-200420-server4of4.zip,/tmp/oda-sm-19.6.0.1.0-200820-server.zip
  6. Confirm that the repository update is successful:
    [root@oda1 opt]# /opt/oracle/dcs/bin/odacli describe-job -i job_ID
    When you run the odacli update-repository command, the server software is copied to both nodes.
  7. Update the DCS agent:
    [root@oda1 opt]# /opt/oracle/dcs/bin/odacli update-dcsagent -v 19.6.0.1.0

    This command updates the DCS agent on both nodes.

    The command also updates Oracle Autonomous Health Framework.

    Caution:

    You must specify the version as 19.6.0.1.0 when you run the odacli update-dcsagent command.
  8. Create the prepatch report for the operating system upgrade.
    [root@oda1 opt]# /opt/oracle/dcs/bin/odacli create-prepatchreport -v 19.6.0.0.0 -os
    Running the odacli create-prepatchreport command generates the prepatch report for both nodes. You can fix issues on both nodes before starting the operating system upgrade.
    The upgrade software oda-upgrade.tar is extracted to the directory /root/oda-upgrade. The logs generated are stored in the following locations:
    • The RHEL preupgrade tool generates logs in the path /root/odaUpgrade_prechecktimestamp.log.
    • The RHEL preupgrade tool results are stored in the path /root/preupgrade-results in .gz zipped format. For example, /root/preupgrade-results/preupg_results-200326032644.tar.gz. Extract the files and open result.html in a browser to view the OpenSCAP report for preupgrade checks. The report provides details of the pre-checks and provides information about the fixes required to proceed with the upgrade.
  9. Check the status of the prepatch report:
    [root@oda1 opt]# /opt/oracle/dcs/bin/odacli describe-job -i precheck_job_ID
    • If the job failed, then run odacli describe-prepatchreport -i precheck_job_ID and review the failures and suggested corrective actions.
    • If the job completed successfully, it is recommended that you still run odacli describe-prepatchreport -i precheck_job_ID and review the checks and the results.

    See the topic Analyzing the Pre-Checks Report for Operating System Upgrades in the Troubleshooting Oracle Database Appliance chapter for detailed information about interpreting the prechecks performed and taking corrective actions in case of failures.

  10. View the prepatch report:
    [root@oda1 opt]# /opt/oracle/dcs/bin/odacli describe-prepatchreport -i precheck_job_ID
    • If the job failed, then review the failures and perform suggested corrective actions.
    • If the job completed successfully, then review the report to view the details of the pre-upgrade checks run. The prepatch report also contains the results of the RHEL preupgrade tool and a pointer to the OpenSCAP report.
  11. After performing required corrective actions, update the server with the operating system software:
    [root@oda1 opt]# /opt/oracle/dcs/bin/odacli update-server -c os --local
    If you did not fix the failures described in the prepatch report, then running the above command may display an error. You can use the --force option to ignore errors and run the command. However, it is recommended that you fix all failures described in the prepatch report and then proceed with the operating system upgrade.
    If you have installed ODABR prior to the operating system upgrade, then the upgrade process checks if sufficient space to create LVM snapshots exists and that there are no ODABR snapshots already. If these conditions are met, then an ODABR snapshot is created before the upgrade process begins. Note that irrespective of usage of --force option, this command creates ODABR snapshots if ODABR has been installed and enough space is available for snapshots creation.
    You must run the pre-checks at least once, or else the odacli update-server command fails. You cannot override this check with the --force option.
  12. Review the progress of the upgrade operation. The output on the screen displays the status of the upgrade.
    You can monitor the progress of the upgrade operation from the Oracle ILOM Service Processor (SP) serial console.

    Note:

    The upgrade operation, including node reboot, may take 30-60 minutes to complete on each node, depending on the hardware platform. The individual steps in the operation may not show a progress message for a while. Do not abort the upgrade using Ctrl-C or by rebooting the system.
    When the operating system upgrade is completed successfully, the node is rebooted automatically.

    Note:

    If the operating system upgrade fails or the node becomes unreacheable or does not reboot, then you can recover your preupgrade deployment by following the steps in the section Recovering from a Failed Operating System Upgrade.
  13. After the operating system upgrade is completed successfully, run the post upgrade checks:
    [root@oda1 opt]# /opt/oracle/dcs/bin/odacli update-server-postcheck -v 19.6.0.0.0
    See the topic Analyzing the Post Upgrade Checks Report for Operating System Upgrades in the Troubleshooting Oracle Database Appliance chapter for detailed information about the post upgrade checks.
  14. After the post checks complete successfully, upgrade the operating system on the second node by running steps 11 to 13 on the Oracle ILOM Service Processor (SP) serial console on the second node.
  15. After the operating system upgrade completes successfully on both nodes, update the server components, Oracle Grid Infrastructure, Oracle Database, and storage components as described in the next topic.

    Note:

    After successful upgrade of the operating system to Oracle Linux 7 on all nodes in the Oracle Database Appliance cluster, it is recommended that you delete any ODABR snapshot created before the operating system upgrade. If you want to retain any ODABR snapshot when you update the DCS server, then consider that the presence of active ODABR snapshots may affect system performance. 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
Recovering from a Failed Operating System Upgrade
To use the procedure for recovery, following are the prerequisites:
  1. Download the ODARescue Live Disk ISO image to enable booting the node on which the operating system upgrade failed. See My Oracle Support Note 2495272.1 for information about downloading ODARescue Live Disk, and download the ODARescue Live Disk image for the 19.6 release:

    https://support.oracle.com/rs?type=doc&id=2495272.1

  2. Specify the NFS location, including the IP address and path with file name, for the ISO image.
    -> set /SP/services/kvms/host_storage_device/remote server_URI=nfs://$isonfsserver:$isofile

    $isonfsserver is the system from which you need to download the ISO image using NFS, and $isofile is the exact path and file name of the ISO image to be downloaded.

    For example:
    set /SP/services/kvms/host_storage_device/remote server_URI=nfs://10.1.1.1:/export/iso/ODARescue_LiveDisk.iso
  3. Configure the ISO image from the Oracle ILOM Service Processor (SP) serial console so that you can use the ISO image to boot the Oracle Database Appliance system.
    -> set /SP/services/kvms/host_storage_device/ mode=remote
    -> set /HOST boot_device=cdrom
  4. Reboot the host system.

Follow these steps to perform recovery:

  1. Configure the Oracle Database Appliance system on Oracle ILOM to boot from the ISO image.
  2. Boot from the ISO image.
  3. Login as root user.
  4. If you could not capture and examine the upgrade messages displayed on the Oracle ILOM Service Processor (SP) serial console, then follow these steps to extract the log file for debugging purposes, from the otherwise unbootable system, so that you can provide this information when you contact Oracle Support.
    1. Configure the public network using the configure_firstnet command.
      configure_firstnet add -i nic -ip IPaddr -n netmask -g defgateway
    2. Mount the file systems of the Oracle Database Appliance node using the command odarescue lvmount.
      # odarescue lvmount
    3. Copy the upgrade log file from /mnt/sysimage/var/log/upgrade.log to a remote system, to analyze the reason for a failed upgrade.

      Note: You can also observe and capture the console output during upgrade by logging into the Oracle ILOM Service Processor (SP) serial console and running start /SP/console.

  5. If you decide to revert to the Oracle Linux 6 configuration, then run odarescue ol6restore.
    # odarescue ol6restore

    This command restores the Oracle Linux 6 configuration using the snapshots that were taken using ODABR.

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 CLI commands.

Note:

Before you patch your deployment to Oracle Database Appliance Release 19.6, you must upgrade your operating system as described in the topic Upgrading Oracle Linux on Oracle Database Appliance Before Patching the Server. For High-Availability systems, you must upgrade the operating system on both nodes.
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 and the 19.6.0.1.0 DCS agent patch and update the repository. To patch your existing databases to the latest release, you do not need the Oracle RDBMS clone files for the release. Download Oracle RDBMS clone files for a release only if you want to create new database homes for that release.

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-server command.
Follow these steps to apply patches to your Oracle Database Appliance and update existing database homes.
  1. Before you patch Oracle Database Appliance server components, Oracle Grid Infrastructure, Oracle Database, and storage components for your deployment to the latest release, you must upgrade the operating system to Oracle Linux 7 as described in the preceeding topic. You would have downloaded the Oracle Database Appliance Server Patch for the ODACLI/DCS stack (patch 31010832) and the 19.6.0.1.0 DCS agent patch (patch 31723973) from My Oracle Support and updated the repository with the software files, during the operating system upgrade procedure. You would have also updated the DCS agent version to 19.6.0.1.0.
  2. Update DCS admin:
    [root@oda1 opt]# /opt/oracle/dcs/bin/odacli update-dcsadmin -v 19.6.0.0.0
  3. Update the DCS components:
    [root@oda1 opt]# /opt/oracle/dcs/bin/odacli update-dcscomponents -v 19.6.0.0.0

    This command updates the DCS components such as Zookeeper.

  4. Apply the server update. For 19.6.0.1, use the -sko option with the odacli update-server command for successful patching of your deployment.
    [root@oda1 opt]# /opt/oracle/dcs/bin/odacli update-server -v version -sko

    For example, for 19.6:

    [root@oda1 opt]# /opt/oracle/dcs/bin/odacli update-server -v 19.6.0.0.0 -sko
  5. Confirm that the server update is successful:
    [root@oda1 opt]# /opt/oracle/dcs/bin/odacli describe-job -i job_ID
  6. Update the storage components.
    Specify the -rolling option to patch shared disks in a rolling fashion.
    [root@oda1 opt]# /opt/oracle/dcs/bin/odacli update-storage -v version --rolling

    For example, for 19.6:

    [root@oda1 opt]# /opt/oracle/dcs/bin/odacli update-storage -v 19.6.0.0.0 --rolling
  7. To patch existing Oracle Database Homes to release 19.6:
    1. Run the patching pre-checks and review the prepatch report. For example:
      [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 7c67c5b4-f585-4ba9-865f-c719c63c0a6e -v 19.6.0.0.0
      [root@oda1 opt]# odacli describe-prepatchreport -i 39ef1eeb-70d3-47ad-b3f5-48960ca0607b
    2. Update the database home to the latest release:
      [root@oda1 opt]# /opt/oracle/dcs/bin/odacli update-dbhome --dbhomeid DB_Home_ID -v release_number

      For example, for 19.6:

      [root@oda1 opt]# /opt/oracle/dcs/bin/odacli update-dbhome --dbhomeid 7c67c5b4-f585-4ba9-865f-c719c63c0a6e -v 19.6.0.0.0
  8. Confirm that the patch jobs are successful:
    [root@oda1 opt]# /opt/oracle/dcs/bin/odacli list-jobs
  9. 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

Patching Oracle Database Appliance 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 agent and components using CLI commands.

Note:

To patch your deployment to Oracle Database Appliance release 19.6, you must upgrade your operating system to Oracle Linux 7. You cannot upgrade your operating system to Oracle Linux 7 using the Browser User Interface. Perform the operating system upgrade using CLI commands as described in the topic Upgrading Oracle Linux on Oracle Database Appliance Before Patching the Server and then patch your Oracle Database Appliance server components as described in this topic.

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 with the oda-admin user name and password.

    https://Node0–host-ip-address:7093/mgmt/index.html
  3. Click Patch 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.

Running Patching Prechecks and Patching Agent, Server, and Storage Using the Browser User Interface

Note:

If your appliance has two nodes, you have the option to update both nodes at the same time or individually. If you update nodes individually, then update Node0 before updating Node1.
  1. Do not have any jobs running or pending during the update window.

  2. Click the Appliance tab, and then click Patch Manager in the Browser User Interface.

  3. Wait for the Component Details to load. If you just updated the Patch Repository, click Refresh in the Component Details section of the page.

    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. Select Precheck, click Update Components, then click Submit to verify the patches in the repository and check for conflicts.

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

  5. On the Patch Manager page, click Refresh to refresh the Component Details. Select Update Server, click Update Components, then click Submit to begin the job to patch the server components.

    For multi-node systems, select the node to update: All Nodes (default), Node0, or Node1.

    The DCS agent is automatically updated whenever the Server or Storage components are updated.

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

  6. On the Patch Manager page, click Refresh to refresh the Component Details. Select Update Storage, click Update Components, then click Submit to begin the job to patch the storage components.

    For multi-node systems, select the node to update: All Nodes (default), Node0, or Node1.

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

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

All patching-related information is logged in the dcs-agent log file at /opt/oracle/dcs/log/dcs-agent.log.

Updating the DCS Admin and DCS Components After Patching

After patching your appliance using the Browser User Interface, you must update the DCS admin and DCS components manually, through CLI commands.

Follow these steps:

  1. Update DCS admin:
    [root@oda1 opt]# /opt/oracle/dcs/bin/odacli update-dcsadmin -v 19.6.0.0.0
  2. Confirm that the update is successful:
    [root@oda1 opt]# /opt/oracle/dcs/bin/odacli describe-job -i job_ID
  3. Update the DCS components:
    [root@oda1 opt]# /opt/oracle/dcs/bin/odacli update-dcscomponents -v 19.6.0.0.0

Updating Oracle Database Appliance Repository with Database Clone Files Using the CLI

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 RDBMS Clone files for a release. Follow these steps to update the repository with Oracle Database clone files for the latest release.
  1. Download the RDBMS Clone software file for a release, for example, p30403662_196000_Linux-x86-64.zip, and extract the RDBMS Clone software:
    For example, download the server patch for 19.6:
    unzip /tmp/p30403662_196000_Linux-x86-64.zip
    odacli-dcs-19.6.0.0.0-200326-DB-19.6.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.6:

    [root@oda1 opt]# /opt/oracle/dcs/bin/odacli update-repository -f /tmp/odacli-dcs-19.6.0.0.0-200326-DB-19.6.0.0.zip
    Follow the same steps to update the repository with the RDBMS Clone software for other supported database versions such as 12.2, 12.1, and so on.
  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

Patching Existing Database Homes to the Latest Release Using the Browser User Interface

Use the Browser User Interface to patch database homes to the latest release.

Before patching the database home, upload the RDBMS 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 RDBMS Clone Files.
  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 click Patch on the left pane.
  3. Click Patch, and then select the Action as Precheck to run pre-checks before patching the database.
    Click Activity for job status.
  4. On the Patch page, for the database to be patched, click View and select Pre-patch reports to view the pre-check report. Fix any errors, and then select Action as Apply to patch the database.
  5. Verify that the patching job completes successfully.

Applying Additional Patches and Updates

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.

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:
  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/cd/E37670_01/E39380/html/ksplice-enhanced-offline.html

Adding Repositories for Patch Updates

Add patch repositories to update operating system RPMs.

Patching of operating system is included in the Oracle Database Patch Bundle. If you want to update other RPMs, then you can configure any private or public repository. Oracle public YUM channels are already configured by default.

Add operating system RPM repositories as follows:

  1. Run the following command to add a repository:
    # odacli update-agentconfig-parameters -n OSPatchRepos -v 'http://public-yum.oracle.com/repo/OracleLinux/OL6/latest/$basearch/' -a

    Provide the public location within quotation marks('')

    For adding RPMs stored on a local disk:

    # odacli update-agentconfig-parameters -n OSPatchRepos -v /tmp/OSimage/OL6.9_x86_64 -a
  2. List all repositories:
    odacli list-agentconfig-parameters -n OSPatchRepos
  3. When you update the server, the operating system patching job uses all repositories to update the operating system RPMs.
    odacli update-server -v 19.6.0.0.0

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 both baremetal and Virtualized Platform 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

Using OPatch to Manually Patch Oracle Database Release 11.2.0.4

  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/p29141056_112040_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. Unzip the database 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 an Oracle Database Release Update (RU), then the patch directory has multiple sub-directories.
    su - oracle -c '/usr/bin/unzip -o p29141056_112040_Linux-x86-64.zip -d /tmp/patchesDir'
  4. Delete bug#2015 if it exists in the inventory.
    1. Check if bug#2015 exists in the inventory:
      su - oracle 
      export ORACLE_HOME=path_to_the_11.2.0.4_ORACLE_HOME 
      $ORACLE_HOME/OPatch/opatch lspatches | grep -i "OCW" | cut -d ';' -f1
    2. The command returns a bug number, for example, 28729234. Navigate to the inventory:
      cd $ORACLE_HOME/inventory/oneoffs/bug# from above command/etc/config
    3. Check if inventory.xml contains a string such as 'bug number="2015"'. If no match is found, then no action is required, and you can continue with step 6 in this procedure.
      grep 'bug number="2015"' inventory.xml 
      echo $?  ( the command returns 0, if match found )   
    4. Take a backup of inventory.xml.
      cp inventory.xml inventory.xml.$(date +%Y%m%d-%H%M)
    5. Delete entry like <bug number="2015" ...> from inventory.xml.
      sed '/bug number="2015"/d' inventory.xml
  5. Run prechecks using the opatch command for every patch.
    su - oracle -c '$ORACLE_HOME/OPatch/opatch prereq CheckComponents -ph /tmp/patchesDir/29301631 -oh $ORACLE_HOME'
    su - oracle -c '$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOH -ph /tmp/patchesDir/29301631 -oh $ORACLE_HOME'

    Run both commands for all the sub patches also. If there are any conflicting bugs, then rollback the one-off patches.

  6. Apply the patch using the opatch auto command.
    $ORACLE_HOME/OPatch/opatch auto /tmp/patchesDir/29301631 -oh $ORACLE_HOME -ocmrf /opt/oracle/dcs/rdbaas/config/default-ocm.rsp
  7. Verify that the database is up and running after applying the patch.
    /u01/app/18.0.0.0/grid/bin/crsctl status resource ora.on6i.db -n patched_db
  8. Run catbundle.sql on all databases in this home.
    su oracle
      export ORACLE_HOME=ORACLE_HOME
      export ORACLE_HOME=ORACLE_SID       
            $ORACLE_HOME/bin/sqlplus "/ as sysdba" @$ORACLE_HOME/rdbms/admin/catbundle.sql
                @$ORACLE_HOME/rdbms/admin/catbundle.sql

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

About Upgrading to a Different Database Home

Understand how to upgrade to a different database home using either the Browser User Interface or odacli commands.

Prerequisites for Upgrading Database Homes

You can upgrade database homes of the following releases:
  • Oracle Database 18c to 19c
  • Oracle Database 12.2 to 19c
  • Oracle Database 12.1 to 19c
  • Oracle Database 11.2.0.4 to 19c
  • Oracle Database 12.2 to 18c
  • Oracle Database 12.1 to 18c
  • Oracle Database 11.2.0.4 to 18c
  • Oracle Database 12.1 to 12.2
  • Oracle Database 11.2.0.4 to 12.2
  • Oracle Database 11.2.0.4 to 12.1

Before upgrading to a different database home, upload the Oracle RDBMS 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 RDBMS Clone Files.

About Upgrading Database Homes Using the Browser User Interface

Follow these steps to upgrade to a different database home 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 Database Homes Using the Command-Line Interface

Run the following command to upgrade to a different database home 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.

Related Topics