Patching Oracle Database Appliance

FAQs on patching Oracle Database Appliance.

What are the patching paths supported on Oracle Database Appliance?

Oracle Database Appliance supports patching from release N-4 to release N, where N is latest Oracle Database Appliance release. For example, if N=19.16, then you can patch from 19.12, 19.13, 19.14, or 19.15. Oracle recommends that your appliance is on an Oracle Database Appliance release that is N-4 or later. If you want to patch from releases earlier than N-4 to N, then ensure that you try it on a test system first.

What are the database upgrade paths supported on Oracle Database Appliance?

Oracle Database Appliance supports all upgrade paths supported by Oracle Database.

How much time does patching Oracle Database Appliance bare metal systems take?

Oracle Database Appliance patching involves multiple steps, as documented in the Oracle Database Appliance Deployment and User's Guide for your hardware model. Listed below are times for bare metal system patching on Oracle Database Appliance release 19.16, when patching from 19.15 to 19.16. Note that patching times vary according to hardware, source and target version software, and configuration details such as the number of databases and database homes to be patched, patching of storage and firmware, and so on. Account for software download and running the command odacli update-repository times, which depend on your network bandwidth and the target system. If you do not run prechecks in advance, when estimating the maintenance window, you must also account for the time to run prechecks and corrective actions, if any, based on any precheck failures. The number of databases affects the time to patch a single database home, and patching multiple database homes takes proportionally longer.

Table 1-1 Time Taken for Patching Oracle Database Appliance Bare Metal Systems

Component Being Patched Time taken for patching X8-2-HA Time taken for patching X8-2M
Patching DCS stack (running the commands odacli update-dcsadmin, odacli update-dcscomponents, odacli update-dcsagent) approximately 5-8 minutes to complete all three commands approximately 3-7 minutes to complete all three commands
Server prechecks (running the command odacli create-prepatchreport -s) approximately 14-16 minutes approximately 8-12 minutes
Server patching - updating operating system, Oracle Grid Infrastructure, Oracle ILOM, and firmware (running the command odacli update-server) approximately 30-45 minutes for each node approximately 25-35 minutes
Oracle Database prechecks for a single database in an Oracle home (running the command odacli create-prepatchreport --dbhome) approximately 25-35 minutes approximately 10-15 minutes
Patching Oracle Database 19c for a single database in an Oracle home (running the command odacli update-dbhome) approximately 10-20 minutes approximately 10-20 minutes

How much time does patching Oracle Database Appliance DB systems take?

Oracle Database Appliance patching involves multiple steps, as documented in the Oracle Database Appliance Deployment and User's Guide for your hardware model. Listed below are times for bare metal system patching on Oracle Database Appliance release 19.16, when patching from 19.15 to 19.16.

Table 1-2 Time Taken for Patching Oracle Database Appliance DB Systems

Component Being Patched Time taken for patching X8-2-HA Time taken for patching X8-2M
Patching DCS stack (running the commands odacli update-dcsadmin, odacli update-dcscomponents, odacli update-dcsagent) approximately 10-15 minutes to complete all three commands approximately 3-5 minutes to complete all three commands
Server prechecks (running the command odacli create-prepatchreport -s) approximately 20-30 minutes approximately 8-12 minutes
Server patching - updating operating system, Oracle Grid Infrastructure, Oracle ILOM, and firmware (running the command odacli update-server) approximately 23-28 minutes for both nodes approximately 20-25 minutes
Oracle Database prechecks for a single database in an Oracle home (running the command odacli create-prepatchreport --dbhome) approximately 23-28 minutes approximately 8-12 minutes
Patching Oracle Database 19c for a single database in an Oracle home (running the command odacli update-dbhome) approximately 17-20 minutes approximately 10-15 minutes

When should patching prechecks be run?

To run the latest prechecks, ensure the DCS admin, DCS components, and the DCS agent are updated to the latest Oracle Database Appliance release to which you want to patch your appliance.

It is recommended that you run patching prechecks in advance, outside the patching or maintenance window, and take corrective actions for precheck failures proactively.

Should I always run Oracle Database Appliance prechecks before patching?

Yes. When you run prechecks with the command odacli create-prepatchreport, checks specific to Oracle Database Appliance and ORAchk are run. Prechecks must be run at least once before running the command odacli update-server or odacli update-dbhome, otherwise these commands fail with an error. It is strongly recommended that you run patching prechecks in advance, outside the patching or maintenance window, and take corrective actions for precheck failures proactively.

Can I run ORAchk directly on Oracle Database Appliance?

Yes. Refer to the Troubleshooting Oracle Database Appliance chapter in the Oracle Database Appliance Deployment and User's Guide for your hardware model.

Do Oracle Database Appliance patching steps remain the same over releases?

No, the patching steps may change when new features are introduced or for other reasons. Always refer to the documentation for an Oracle Database Appliance release before you patch your deployment.

Why must the order of patching commands be strictly maintained?

Oracle Database Appliance patching comprises running multiple steps. These steps encompass patching of the DCS stack, Server, Storage, and Database. The DCS stack, Server, and Storage constitute the infrastructure, which must be updated before updating the databases. With every release, the new version of orchestration software, DCS, is updated and made capable of running new prechecks and handling differences, if any, for the new Oracle Grid Infrastructure and database versions. New DCS software also contains support for any new features in a Oracle Database Appliance release. Hence, DCS stack must be updated first, followed by the rest of infrastructure components that fall under the Server bucket. Strict order must be followed within the DCS stack too. The DCS admin orchestrates odacli update-dcscomponents and odacli update-dcsagent commands, and hence you must patch the DCS admin with the odacli update-dcsadmin command. Since the DCS Agent has a dependency on ZooKeeper, which is updated when running odacli update-dcscomponents, the DCS components must be updated next. And lastly, DCS Agent must be updated using odacli update-dcsagent.

What are the components updated when running each patching command on Oracle Database Appliance?

The command odacli update-dcsadmin updates the DCS admin component.

The command odacli update-dcscomponents updates the DCS agent, DCS CLI, DCS Controller, Apache ZooKeeper and MySQL components.

The command odacli update-dcsagent updates Oracle Autonomous Health Framework (AHF).

The command odacli update-server updates OAK, operating system, local disk's firmware, Oracle ILOM firmware, and Oracle Grid Infrastructure.

The command odacli update-dbhome updates the database home and the databases running out of that Oracle home.

The command odacli update-storage updates shared storage (such as controller, disks, and expander) firmware.

Is server update rolling on Oracle Database Appliance?

For certain Oracle Database Appliance releases, server update supports the --local option for the command odacli update-server to patch one node at a time and maintain availability of at least one database at all times. This option is currenly available.

Is database update rolling on Oracle Database Appliance?

For certain Oracle Database Appliance releases, database update supports the --local option for the command odacli update-dbhome to patch one node at a time and maintain availability of at least one database at all times. This option is currenly available.

How do I know whether local server patching is available in the current release?

Check the prepatch report. It indicates with an alert whether local patching is available.

How do I know whether local database patching is available in the current release?

Check the prepatch report for the database home to be patched. It indicates with an alert whether local patching is available.

Under what conditions are Oracle Database Appliance storage patching commands rolling on an high-availability system?

The command odacli update-storage -r can be run only when shared controller or expander update is not required. When shared controller and expander patching is done, the Oracle Grid Infrastructure stack needs to be brought down on both nodes and both nodes are rebooted at the same time, hence rolling patching is not supported. Oracle Database Appliance release 19.13 onwards, storage patching prechecks, generated with the command odacli create-prepatchreport -s includes a check to indicate whether rolling patching option -r can be used in the odacli update-storage command.

Can odacli update-server be rerun if it fails?

Failure in running the odacli update-server command usually requires intervention from Oracle Support to run manual steps to fix the issues, before you can rerun the odacli update-server command.

Can odacli update-dbhome be rerun if it fails?

Yes. If a failed odacli update-dbhome command leaves behind a newly-created database home, it can be deleted using the odacli delete-dbhome command.

Can odacli update-dcscomponents, odacli update-dcscomponents, and odacli update-dcsagent commands be rerun if they fail?

Yes, these commands can be rerun if they fail.

Is applying one-off patches for Oracle Grid Infrastructure and database supported on Oracle Database Appliance?

Yes. However, these patches may need to be manually rolled back when applying the next Oracle Database Appliance patch bundle. Rollback is required when the one-off patches are not present in the Oracle Database Appliance patch bundled being applied. In such cases, another one-off patch on the new base release must be requested and applied.

Can the one-off patches be applied in a rolling manner?

If an Oracle Grid Infrastructure patch is a rolling patch, it can be applied in rolling manner. Oracle Database patches cannot be applied in a rolling manner because database homes on Oracle Database Appliance are on a shared Oracle ACFS file system starting with Oracle Database Appliance release 19.11.

Can a newer RU be applied on database homes if RU is not available through an Oracle Database Appliance Patch Bundle yet?

Yes, it is possible, though the recommended way to patch database homes is to update them as part of the quarterly Oracle Database Appliance release. Refer to the topic Applying Out-of-Cycle Database Patches in the Oracle Database Appliance Deployment and User's Guide for your hardware model for a release.

Just as is supported for Oracle Database on Oracle Database Appliance, can a new Oracle Grid Infrastructure RU be applied out of cycle?

No.

Can I update the kernel to apply security fixes?

You can use Oracle Ksplice to update the kernel. Refer to the topic Applying Additional Patches and Updates on Bare Metal Systems in the Oracle Database Appliance Deployment and User's Guide for your hardware model for a release.

Should I always take ODABR snapshots before patching?

It is an Oracle Database Appliance best practice and is highly recommended that Oracle Database Appliance snapshots be taken before patching.

Should I delete ODABR snapshots after patching completes successfully?

ODABR snapshots consume space on the boot disk and could also slow down steady-state operations. Besides, they have little utility once patching completes successfully and the system is back in the steady state. Hence, it is recommended that ODABR snapshots be deleted after patching completes successfully.

What is the impact of installing additional operating system RPMs on Oracle Database Appliance patching?

During Oracle Database Appliance server patching, newer versions of RPMs that Oracle Database Appliance ships are installed. If the additional RPMs installed on your system have dependencies on the Oracle Database Appliance RPMs, attempts to install the newer versions during patching may create conflicts, resulting in a patching failure. In such cases, you may need to uninstall additional RPMs, complete the patching, and reinstall the RPMs after patching succeeds.

What is different about patching Oracle Database Appliance starting with Oracle Database Appliance release 19.11?

Starting with Oracle Database Appliance release 19.11, Oracle Database Appliance follows the out-of-place patching model for Oracle Grid Infrastructure and database home patching. A new software home is created when patching Oracle Grid Infrastructure (with the command odacli update-server) and database homes (with the command odacli update-dbhome).

Why is the Oracle Database Appliance Server Patch for ODACLI/DCS Stack file much smaller in Oracle Database Appliance release 19.11 and later?

Starting 19.11, ODA follows the out of place patching model, which uses clone files during patching to create a new software (GI or database) home. Since GI and database patches (RUs) are no longer shipped on ODA, the "Oracle Database Appliance Server Patch for ODACLI/DCS Stack" file is smaller.

Are the new database homes always created on an Oracle ACFS file system after patching to Oracle Database Appliance release 19.11?

Yes.

Is there an option to keep database homes on /u01 in Oracle Database Appliance release 19.11 and later?

No.

Can I remove the old Oracle Grid Infrastructure home after successful patching to a newer release?

Yes. Refer to Oracle Support Document 2537389.1: ODA Administration: How to Manually Remove a 12.1 Grid Home on the ODA After an Upgrade to 12.2 or Higher at: https://support.oracle.com/rs?type=doc&id=2537389.1.

How can I free up space before patching?

To remove old patches and database clones, run the command odacli cleanup-patchrepo. To remove log files, run the command odacli create-logcleanjob.

Can I delete the old database clones and patch components after patching?

Yes. Run the command odacli cleanup-patchrepo.

Does the OJVM patch need to be installed separately?

See the following My Oracle Support Notes for more information:

How can I update Oracle ILOM and the BIOS manually in case of Oracle ILOM and the BIOS patching failures?

Refer to Oracle Support Document 1427885.1: ODA (Oracle Database Appliance): OAK Bundle Patch failing on ILOM/BIOS component apply) at https://support.oracle.com/rs?type=doc&id=1427885.1.

Does Oracle Database Appliance patch KVM and OVM guest VMs?

No. You must patch them separately.