Exadata Patching

This article covers Exadata Patching for on-premises Exadata systems (non-Cloud) or what is also known as software maintenance.

Oracle Platinum Services

Oracle will patch Exadata systems if you are unable to do it yourself. The platinum services team has done a great job tailoring the service to meet the ever-expanding capabilities of Exadata and resulting needs of customers. However, there are cases where customers need more flexibility than Platinum Services can provide, so some customers do Exadata patching themselves or contract for Oracle or 3rd party services to provide that flexibility. Be sure to review the Platinum Services Data Sheet (here), review the Scope of Services (linked from the Data Sheet) and talk to your Oracle Sales Representative to see if Platinum Services is right for you.

Advantages of Exadata in the Cloud

Exadata in the Cloud includes Cloud@Customer, OCI (Oracle Cloud Infrastructure), and Exadata multi-cloud (@AWS, @Azure, and @GCP). While this article covers on-premises Exadata systems, it’s important to note that Exadata in the Cloud offers some distinct advantages when it comes to patching. Some of the complexity outlined in this article is addressed in the Cloud by…

  • Standardization
  • Oracle Cloud Operations (division of labor)
  • Automated Tools

As you will see in this article, patching Exadata includes a great deal of flexibility in how it’s implemented. Oracle Cloud addresses this by first standardizing on the most common approaches which are then automated via the Cloud Control Plane software. This standardized framework is then evolved to include additional options needed by customers. Oracle Cloud includes a division of labor and responsibilities, assigning some of those responsibilities to Oracle Cloud Operations. All hardware maintenance is the responsibility of Oracle Cloud Operations, as well as the lower layers of the Exadata System Software stack (including the Hypervisor). The upper layers (Virtual Machine, GI, and Database software) are the responsibility of the customer, but automated tools are provided to simplify these tasks.

Frequency of Patching

Oracle allows customers to patch Exadata systems according to the frequency that best meets their business needs. In general, any of the following

  • Yearly
  • Quarterly
  • Monthly

Oracle recommends patching Exadata systems at least yearly, while the majority of Oracle customers patch Exadata systems on a quarterly basis. Heightened security concerns (due to the rise of Artificial Intelligence) are pushing more customers toward monthly patching, especially for applying security patches. Few customers patch Exadata systems on a monthly basis due to challenges with reboots and business impact (even with rolling patching). See the “Live Update” section of this article for more information.

Patch Bundles

Oracle provides patch bundles for all layers of the Exadata infrastructure, from O/S and drivers through database software. These bundles are separated into 5 areas as follows:

  • Exadata Database Servers (Bare Metal and Virtual Machines)
  • Exadata Storage Servers
  • Exadata network switches (InfiniBand or RoCE)
  • Oracle Grid Infrastructure
  • Oracle Database software (binaries & data patch)

The first three on the list above involving patching Exadata components and including drivers, O/S, and Exadata specific software. The included drivers are only those drivers necessary for Exadata systems. Exadata runs a distribution of Oracle Linux with a specialized kernel and minimal set of Linux packages needed for running Oracle Database. Compatibility of Exadata Release with GI and Database software are documented in MOS note KB153930.

Quarterly Full Stack Download Patch (QFSDP)

Oracle combines all patches into a single patch bundle known as the Quarterly Full Stack Download Patch (QFSDP) for the most common combination of versions. The advantage of QFSDP is it simplifies the task of evaluating software version dependencies, since all of those dependencies are built into the QFSDP. However, there might be additional combinations of software versions that ARE compatible beyond what is included in QFSDP. You get a bit more flexibility by not using QFSDP, but at the expense of a bit more work evaluating all of the combinations and permutations of software versions (outlined in MOS note KB153930).

Exadata Software Versions & Releases

All Exadata systems should be patched according to an established schedule as outlined above. It is important to stay current on Exadata software for the most stable and secure system possible, regardless of the hardware age. Exadata System Software includes the following levels:

  • Major Version
  • Release
  • Maintenance Release

Changes in Major Version involve changing the Oracle Linux version, which will sometimes involve more extensive changes. For example, the reserved UID/GID (User ID and Group ID) ranges changed in Oracle Linux 8, which sometimes forced changes to customer systems. Likewise, more extensive changes are expected when moving to Oracle Linux 9 (in Exadata System Software 26.2). One change that can affect customers is the minimum length of SSH keys to deliver greater security in Linux 9.

Recommended Releases

Oracle documents recommended releases in KB153930, and it is not always the latest release. Customers should use the RECOMMENDED release unless there is a feature or hardware compatibility requirement that dictates a later release than what is documented as recommended. Oracle performs extensive certification testing of each software release and hardware generation to ensure quality of the release. The recommended release will change as experience is gained in the field on real-world customer systems.

Current vs. Target Release

The amount of work required during the patching process is at least partially dependent on the current vs. target release. Waiting too long between patching events will often increase the amount of effort involved. Systems need to be at the minimum release level to upgrade directly to certain target releases. If the patching involves a change in Major Version (Linux version change), additional work is often required.

Exadata Database Server: Rolling vs. Non-Rolling Patching

The “state of the art” method for Exadata maintenance is to use rolling (or RAC rolling) patching, where each Database Server gets shutdown individually. RAC (Real Application Clusters) keeps the database running and accessible while nodes are being rebooted. Transparent Application Continuity (TAC) allows connections to move between nodes so users are not impacted. However, some applications don’t support RAC rolling updates.

Be aware that rolling patching of Database Servers will reduce the aggregate CPU, Memory, and I/O bandwidth when each Database Server goes down. Connections should be moved over to a node that’s running if the application is properly configured to use TAC. However, the aggregate capacity will be reduced and won’t be available to run workloads.

Exadata Storage: Rolling vs. Non-Rolling Patching

As with Database Servers, the “state of the art” for Exadata Storage Servers is to perform rolling updates. However, Exadata storage needs to be configured in High Redundancy to use rolling updates. Be aware that rolling patching of Exadata Storage Servers will reduce the aggregate XRMEM and Flash Cache available when each Storage Server is brought down. Exadata software (as of 26.1) pre-populates Flash Cache on partner Storage Servers to avoid a Flash Cache miss during patching. However, the aggregate Flash Cache is still being reduced during the patching process.

Exadata Switches – Always Rolling Patching

The internal switch fabric of Exadata (InfiniBand for older Exadata models, and RoCE in newer Exadata models) is designed to always be patched in a rolling fashion. The network fabric is fully redundant, with multiple network connections for each Database Server, multiple network connections for each Storage Server, and redundant switches as well.

Exadata Documentation

Each generation of the Exadata Documentation is cumulative, so the latest version includes instructions that apply to earlier versions.

MOS Articles

My Oracle Support (MOS) includes Knowledge Base articles that are critical to Exadata patching. Those notes are updated at least monthly, so be sure to review the latest version prior to any Exadata patching. The key KB articles are these:

  • KB153930 – Exadata Database Machine and Exadata Storage Server Supported Versions
  • KB467937 – Exadata System Software Certification

KB153930 detailed which versions of the various software stack layers are compatible with each other, while KB467937 details which Exadata Software versions have been certified with which Exadata Hardware generations.

Patch Readme Files

Each set of Exadata patches include readme files. These contain details of what is being applied in the update/patch, but may also contain other important information. It’s highly important to review any of the readme files within each download.

Exadata Configuration Check Utility (exachk)

Your Exadata system should generally be in a “healthy” state before you start patching. All Exadata systems should be configured to run the Exadata Configuration Checker (exachk) on a regular basis. The exachk tool will check the health of the system. Oracle periodically updates exachk to include new checks when issues are discovered, so exachk itself should be updated periodically to ensure your system has the latest checks included.

Local Customizations

You should avoid customizing your Exadata system as much as possible. That includes adding software that isn’t explicitly necessary for operating the system. Some 3rd party software or local customizations can stall the upgrade/patching process. If you can’t avoid installing 3rd party software, it’s best to install software in the form of RPM packages because software installed as packages are tracked by Linux in a standard manner. It is possible to customize the system in such a manner that will cause patching to fail. Customers have “root” (super user) authority on Exadata, and that level of access can be used to make changes that cause failures. When Oracle development becomes aware of these issues, checks are added to the exachk utility to detect those problems prior to patching. However, it is not possible to check every possible local customization that will impact patching.

Handling 3rd Party Packages

Oracle introduced features in the 25.1 release that provide much better handling of 3rd party packages. The Exadata software installer (patchmgr) is able to check dependencies among software packages to determine if 3rd party packages need to be upgraded in conjunction with a given Exadata software update. The traditional solution was to de-install the 3rd party software prior to the Exadata software update, then re-install the 3rd party software when Exadata patching is complete. That process is rather inconvenient and it’s undesirable in some cases (especially with security software).

Exadata Live Update

Starting with Exadata System Software 24.1, Oracle provides the Live Update feature which is designed to avoid reboot (keeping the system “live”) when critical updates and especially security updates (CVEs) are applied. Live Update is designed to be deployed as follows:

  • Quarterly Full Patching
  • Monthly Live Updates for CVEs

The most common Exadata patching interval used by customers is quarterly full patching (QFSDP or not). The vast majority of customers say that more frequent patching would be a burden and isn’t necessarily feasible. The amount of work would be a burden, and coordination with the business and application teams would make that difficult. Oracle designed the Live Update feature to allow customers to apply critical fixes and security updates (CVEs) without a system reboot. For more information about Exadata Live Update, see here.

Exadata Hardware Lifetimes

It’s important to realize that Exadata software should be updated on a regular basis throughout its lifecycle. Oracle anticipates that customers will refresh Exadata hardware after approximately 7 years of use or even more frequently in some cases. MOS Knowledge Base document KB467937 documents which Exadata System Software Releases have been certified on which Exadata Hardware Generations. The matrix in KB467937 shows the earliest certified release on a hardware generation, and will show the final certified release when that occurs. Certification is the process of testing Exadata System Software on a given Exadata Hardware Generation. Oracle runs approximately 25 million tests during each certification run, ensuring customers will not encounter issues. Oracle runs certification tests on hardware until Last Ship Date plus 7 years (LSD+7) or longer as outlined in KB467937.

Data Guard Considerations

Oracle Data Guard is an important component in minimizing downtime in high availability environments. However, it’s important to understand that REDO apply in Data Guard doesn’t serve to warm the Flash Cache. Changed blocks will be pulled into Flash Cache, but read activity is not propagated from primary to standby.

Standby-First Patching (Database patches)

Standby-First Patching is a concept that applies to the Database layer, and has been around since Oracle11g. For patches (RU or Interim) that are flagged as standby-first installable in the patch readme, the binaries (but not the data patch) can be patched on the standby side first.

  • Check pre-requisites
  • Patch standby binaries
  • Switch roles
  • Patch primary binaries
  • Run Datapatch

The Standby-First Patching process needs to be integrated with the Exadata System Software patching process. For more information on patching databases that use Data Guard, please refer to the manual here.

Virtualized Exadata

Exadata machines can run bare-metal or virtualized. For virtualized systems, the hypervisor (on the physical host) will be patched, and the virtual machine(s) on the host will be patched separately. Virtual machines on a physical server can be members in RAC clusters residing on different physical server. Physical servers (and hypervisors) are not members of clusters. If using Exascale storage, Virtual Machines can move between physical servers and they can be moved without a restart using Live Migration.

Exadata Patching Process

The process of patching Exadata can vary according to the criteria discussed above. However, the general process is essentially as follows:

  • Preparation
  • Setup Driving System
  • Run pre-checks
  • Backup
  • Apply patches
  • Post-Update Verification

Let’s dive into each of these steps in detail.

1) Preparation

You can begin by looking at the basic contours of the patching process. Preparation includes all of the pre-work required to determine what needs to be done. This is the planning, so some of these will lead to steps that are executed during the patching process.

  • Exadata Hardware Generation(s)
  • Current Exadata System Software Release
  • Target Exadata System Software Release & prerequisites
  • 3rd Party Software Installed
  • Current System Health
  • Check for Customizations
  • High Availability Requirements & Options for HA

Exadata Hardware Generation(s) involved will dictate which Exadata System Software releases can be applied on that hardware. Watch for older hardware that is approaching End of Certification and needs to be refreshed. Every Exadata System Software release will allow direct upgrade from certain other releases with a minimum Maintenance Release for each. If you’re following the minimum upgrade interval (upgrading at least yearly), you should already be meeting the minimums. However, if you are delaying your patching for a longer interval, it might be necessary to apply a Maintenance Release before applying the target Exadata System Software Release.

2) Setup Driving System

Exadata System Software patching can be done from a separate system or from one of the Exadata Database Servers. The advantage of using a separate system is that particular system doesn’t need to be upgraded as part of the process. If you’re running the upgrade from an Exadata Database Server, you’ll need to switch the driving server at some point in the process. In other words, you cannot use a driving system to update itself.

3) Run Pre-Checks

The overall plan built during the preparation phase will involve some steps that are executed during pre-check. For example, the preparation/planning process might identify certain 3rd party software is installed on the system, which will mean that software will be either uninstalled or RPM dependencies will have to be addressed during the upgrade. In other words, running of pre-checks happens during the execution phase of the patching process, whereas preparation is the planning phase.

4) Backup

A full system backup and database backup need to be completed during the execution phase of patching. This provides a fallback in the event patching fails.

5) Apply Patches

Calling these “patches” is somewhat of a misnomer, since Major Versions, Releases, and Maintenance Releases might be involved in the process. It really depends on the current vs. target release involved and what boundaries of Major Versions and Releases are being crossed.

6) Post-Update Verification

The final step of any system patching or upgrade should always involve verification. Databases need to be running and accessible, applications need connectivity. It’s often important to TEST the application to ensure everything is working properly before declaring an end of the patching process.

Debugging

Technicians executing the patching need to be adept at debugging the process. Fast response to problems during patching will mitigate downtime and business impact. Debugging starts with examining any log files produced by the driving process. For example, the Exadata patchmgr tool generates logs that are helpful in debugging the process.

Leave a comment