Differences between PSU / BP and RU / RUR

Since Oracle Database 12.2.0.1 we change our patching model as well, switching from Patch Set Updates (PSU) and Proactive Bundle Patches (BP) to Release Updates (RU) and Release Update Revisions (RUR). But what are actually the differences between PSU / BP and RU / RUR patch bundles? Is there any or is it just a renaming of well known patch bundles?

No change on MS Windows

First of all, let me say that there won’t be any changes on the Windows platform. If your preferred operating system is MS Windows then stop reading here. On Windows you’ll see exactly the same patching format with Bundle Patches as you saw before.

How about the other platforms?

Everybody else will see changes with Oracle Database 12.2.0.1 – and I blogged about it a while ago:

As I presented now about the first release model already at a User Group Conference I have had some discussions already about RU and RUR – and I believe there’s a bit more clarification needed.

Differences between PSU/BP and RU/RUR

In July 2017 the first Oracle Database 12.2.0.1 RU became available, since October the second RU and the first RUR are available.

But there’s a significant difference between PSUs and RURs. Even though we say “RURs replace PSUs” RURs are not the same as PSUs.

When you look at the PSU and BP trains before you usually choose at the entry to a release which path you’d like to follow, either PSUs every quarter, or BPs. Engineered system customers had no choice: it was Bundle Patches. In Oracle 11.2. the BPs were meant only for Engineered-systems environments. In Oracle 12.1 we switched and recommended BPs over PSUs for all systems.

Patch Set Updates And Bundle Patches

A Patch Set Update (PSU) contains usually security fixes and regression fixes, i.e. bug fixes.

Differences between PSU / BP and RU / RUR

Typical Patch Set Update (PSU) – quarterly

Whereas a Proactive Bundle Patch (BP) was a superset of a PSU containing the PSU but optimizer fixes and functional fixes which may be sometimes feature extensions as well.

Differences between PSU / BP and RU / RUR

Typical Bundle Patch (BP) – quarterly released

And you choose either one train usually. But you could also change from PSUs to BPs or vice versa. Your flow would actually look like this:

Differences between PSU / BP and RU / RUR

Quarterly Patching with either PSUs or BPs – every quarter gets new fixes, PSUs and BPs, each are cumulative to themselves

As PSUs and BPs, each are cumulative you’ll get the fixes from all previous PSUs or BPs for the same release included as well. The PSU a quarter later has new security fixes and new regression fixes added, the Bundle Patch in addition gets new optimizer and functional fixes and of course the same new security and regression fixes the PSU has gotten.

Please see MOS Note: 1962125.1 – Overview of Database Patch Delivery Methods for further details. Optimizer fixes are off since we introduced the FCP (Fix Control Persistence framework) with DBMS_OPTIM_BUNDLE.

Release Updates

Release Updates (RU) look pretty similar to Bundle Patches (BP):

Differences between PSU / BP and RU / RUR

The first Release Update (RU-1)

The following second Release Update contains everything from Release Update 1 plus new fixes in all four areas (marked in dark red/purple below). RUs are cumulative as well as the BPs were.

Differences between PSU / BP and RU / RUR

The second Release Update (RU-2)

RUs get released quarterly at the usual dates.

Release Update Revisions

A Release Update Revision (RUR) is different from an PSU. At the time of the release of RU1 there won’t be an RUR yet. The first RUR will be released containing the entire first RU – plus additional fixes on top. Regression fixes are fixes for misbehavior. They usually hit a lot of customers.

Differences between PSU / BP and RU / RUR

First Release Update Revision (RUR-1)

Actually the first RUR will be released usually a quarter after the first Release Update (RU). It will include all fixes from  Release Update 1 (RU-1) – and add only new security and regression fixes on top. But no new optimizer or functional fixes. When you compare it with the picture above (“The second Release Update”) you’ll spot the same security and regression fixes.

At this date you will have the choice now:

  • Use the Release Update Revision (RUR-1)

or:

  • Install the new Release Update (will be RU-2 by then).It contains the same security and regression fixes as the RUR-1 but also new optimizer and potentially functional fixes in addition (see the picture of “Second Release Update (RU-2)”.

3 months later the next RUR will be released – and it will contain now again only the new security and regression fixes (marked in turquoise) on top. There won’t be any new optimizer or functional fixes added at this point. When you compare both pictures, the one above and the one below (RUR-1 and RUR-2) you’ll see the exact same optimizer and functional fixes from the initial RU-1.

Differences between PSU / BP and RU / RUR

Second Release Update Revision (RUR-2)

And at the same time the third Release Update (RU-3) will become available as well.

It’s important to mention that there is no third Release Update Revision (RUR-3) planned. The model allows only 2 RURs per RU. Afterwards you have the option to either get the most recent RU – or an RUR based on an older RU.

Overview – The Big Picture

The full picture summarizes the schema:

Differences between PSU / BP and RU / RUR

Overview on Release Updates (RU) and Release Update Revisions (RUR) over time

Now you see why there is a significant change. There’s no such thing as PSUs anymore. And you are not nailed on a track. You have the choice to either progressively step forward by applying Release Updates – or pause with new optimizer and functional fixes for up to 6 months patch period.

–Mike

4 thoughts on “Differences between PSU / BP and RU / RUR

  1. Many thanks you for clarify. It’s not so easy to understand.
    May I ask anything else: what are “Mitigate” patches? I’ve read in conclusion with OJVM patches
    Best regards
    Peter

  2. Mike,

    I’m trying to understand what is the best way to receive the optimizer fixes with the latest RU/RURs. Even after I apply the latest RU or RUR, the optimizer fixes are disabled by default. How do I know what fixes were included and how do I decide which ones to turn on or leave off. I think there needs to be some clarity around this.

    From a customer point of view, if I’m applying a latest RU, I’m hoping to get all the fixes (including optimizer fixes) with the patch. In my experience, most of the issues around the upgrades, are around the optimizer !

    Thanks

    • Naveen,

      I know that this is a strange topic. But in fact I tried to clarify this more here:
      https://mikedietrichde.com/2017/11/07/ru-rur-recommendations-facts/

      Please check the RU’s readme. If it DOES NOT contain this paragraph:

      “This patch introduces fix control for one or more fixes contained herein. These fixes are disabled by default and will have to be explicitly enabled via alter session/system commands to persist in pfile/spfile as appropriate”

      then no BEHAVIOR CHANGING OPTIMIZER fixes are included and thus nothing to switch on. As soon as this paragraph is present in the RU’s readme there will be guidance which _fix_control setting needs to be used in order to enable the fixes.

      In the July and October RU for 12.2.0.1 there are no such fixes as far as I can see.

      Cheers
      Mike

Leave a Reply

Your email address will not be published. Required fields are marked *