Since Oracle Database 18.104.22.168 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 22.214.171.124 – and I blogged about it a while ago:
- PSU or BP? Patch Set Update or Bundle Patch? RUR or RU? (May 12, 2017)
- More Information about RU and RUR patches for Oracle 12.2 (Jul 19, 2017)
- Applying the first RU to Oracle Database 126.96.36.199 (Jul 20, 2017)
- Download Assistant for RUs, RURs, BPs, PSUs, Patch Sets and Releases (Oct 13, 2017)
- Are OJVM patches included in the Oracle 12.2 RU / RUR (Oct 20, 2017)
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 188.8.131.52 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.
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.
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:
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 (RU) look pretty similar to Bundle Patches (BP):
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.
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.
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)
- 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.
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:
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.