There are questions coming in from time to time, and I see that not everything can be always covered in an FAQ document. But we try our best. And sometimes, there are questions even I need to think twice before I answer. Here is the newest for More clarifications on RUs, MRPs and CSPUs.

Photo by Larry Nalzaro on Unsplash
What do you need to read before?
Don’t even read further if you haven’t read already:
- MRP, CSPU, CPU, RU – some clarifications
- FAQ7719 – Introducing Critical Security Patch Updates (CSPUs) and FAQ
The latter MOS FAQ is incredibly hard to find via the search – but it is worth a read.
Maybe the topics I am listing here (which all got raised via the blog or via email) will be added to the FAQ soon, too.
Can you request security fixes or MRPs on 19.29.0?
I know that patching as quickly as needed is very hard. And we are fully aware of the fact that requesting and receiving one-off and merge patches on top takes a little bit, too. The latter may slow you down in addition to your own process, testing requirements, application constraints, and so on. Therefore, I understand if somebody says: Look, we are still on 19.29.0, and we plan to move to 19.32 in late September when we received all content, completed our testing etc.
But you need to keep in mind that MRPs (with one exception) and CSPUs are given only for the current and the previous RU.
See this graph from my blog post:

6 MRPs on top of an RU
This means, while I am writing this blog post on Aug 24, 2026, you will get an MRP (or CSPU) on top of 19.32 and 19.31 but not on top of 19.30 or 19.29 anymore. The same applies to Oracle AI Database 26ai where we are on RU 23.26.3 – and delivered MRPs on it as well as for the previous RU, 23.26.2. But not on top of older RUs.
In addition, please understand and be aware that the vehicles to consume security fixes are at first:
- Release Updates
- In addition on top to stay current: MRPs or CSPUs, depending on version and platform
But security fixes are very rarely released as one-off fixes. Thus, you must apply the RU, and then going forward use the MRPs or CSPUs until the next RU gets released.
Can I still stay N-1?
In relation to my paragraph above, there are often discussions whether you receive the same security content when I compare the current RU with the previous RU and the MRPs on top.
And the clear answer based on my view is: No.
Let us take a current example and compare the plain 19.32, the current RU with 19.31 with the matching July MRP3. oradiff.oracle.com is a great helper here.
- 19.31 => 19.31 with MRP3 contains 16 additional fixes, 12 of them have “Fix for bug” in the subject (security fixes)
- 19.31 => 19.32 contains 671 fixes on top of 19.31, and 527 (!!) of them tell you “Fix for bug” in the subject
So, I think this has answered it by itself. When you stay N-1, the previous RU plus the most recent MRP or CSPU on top, you only consume a fraction of the available security fixes.
As I mentioned above, the main vehicle to deliver security content are clearly RUs. Therefore, you must stay current with RUs, and you should apply the monthly MRPs or CSPU on top. But you should not stay with the previous RU anymore. This is also the reason why our exec management has been decided to password-protect older RUs.
How can I find if an MRP is applied?
This question is there from day 1 when we introduced the MRPs. Scroll down to the last paragraph here,
and you will see that this question has been raised shortly after MRPs got introduced in 2023.
Unfortunately, there is still no way to tell from looking at your inventory whether an MRP has been applied. This is an old example, and the number of fixes may not be this high, but you can only see the one-off patches. There is no one-line-entry telling you an MRP or CSPU has been applied as it happens for instance with the Data Pump Bundle Patch.
$ORACLE_HOME/OPatch/opatch lspatches 35246710;HIGH DIRECT PATH READ AFTER 19.18 DBRU PATCHING 35213579;MERGE ON DATABASE RU 19.18.0.0.0 OF 35037877 35046819 35162446;NEED BEHAVIOR CHANGE TO BE SWITCHED OFF 35160800;GG IE FAILS WITH ORA-14400 AT SYSTEM.LOGMNRC_USER AFTER ORACLE DB UPGRADE TO 19.18DBRU 35156936;ORA-7445 [KFFBNEW()+351] AFTER CONVERT TO ASM FLEX DISKGROUP 34974052;DIRECT NFS CONNECTION RESET MESSAGES 34879016;ALL SESSIONS HANG DUE TO INST_RCV BUFFER IS NOT GETTING WRITE PERMISSION 34871935;SBI QUEUE BUILDUP - SESSIONS SPIKE WITH GC CURRENT REQUEST (6-DEC-2022) 34861493;RESYNC CATALOG FAILED IN ZDLRA CATALOG AFTER PROTECTED DATABASE PATCHED TO 19.17 34810252;SPIN OFF FOR BUG 34808861 [ORA-00600 INTERNAL ERROR CODE, ARGUMENTS [KFDS_GETSEGREUSEENQ01] TERMINATED ALL DB INSTANCES 34793099;STRESS FA CDB CREATION FAILS ON 19.17 WITH THE ORA-00704 BOOTSTRAP PROCESS FAILURE WHILE OPENING PDB$SEED 34783802;PARALLEL QUERY ON PARTITIONED TABLE RETURNS WRONG RESULT 34557500;CTWR CAUSED MULTIPLE INSTANCES IN HUNG STATE ON THE RAC STANDBY DATABASE 34340632;AQAH SMART MONITORING & RESILIENCY IN QUEUE KGL MEMORY USAGE 33973908;DBWR NOT PICKING UP WRITES FOR SOME TIME 32727143;TRANSACTION-LEVEL CONTENT ISOLATION FOR TRANSACTION-DURATION GLOBAL TEMPORARY TABLES 31222103;STRESS RAC ATPD FAN EVENTS ARE NOT GETTING PROCESSED WITH 21C GI AND 19.4 DB 34972375;DATAPUMP BUNDLE PATCH 19.18.0.0.0 34786990;OJVM RELEASE UPDATE: 19.18.0.0.230117 (34786990) 34765931;Database Release Update : 19.18.0.0.230117 (34765931) 29585399;OCW RELEASE UPDATE 19.3.0.0.0 (29585399)
I know that customers filed Enhancement Requests already, and I am confident that we will see some improvement soon.
When you look at any MRP readme, you will see that this is the reason:
2. Apply all MRP content in an offline manner using “opatch napply”.
When you apply single patches with an “napply” command, you get single entries for each of them in the inventory.
MRP check in AHF?
Let me add here a hint a customer gave me, and to be frank, I was not aware of it. He pointed out that Oracle AHF (Autonomous Health Framework) is able to verify whether an MRP has been applied. I checked, and it is true.
As far as I could find out, AHF 23.3 added MRP reporting. The observable mechanism seems to be:
- AHF has its own updateable MRP metadata/catalog
- The catalog maps an RU and MRP level to the expected one-off patch IDs
- AHF reads the Oracle home’s OUI/OPatch inventory
- It compares the expected patch set with the installed patch set and reports installed/missing patches
I am not 100% certain if the above is an really absolutely precise description but as of now, it seems to be the only way to check whether an MRP has been applied.
Can you patch the client install with an MRP?
This is a tough one since I basically never patch my client install. Why not?
Well, I switched to the Instant Client a long time ago, and I download the newest version which is supposed to be patched. But it is actually a very legit question a colleague raised last week. I had to think twice but I assume that you should be able to patch your client installation with an MRP as well.
Why?
Well, you can apply an RU to your client installation. And I don’t see a reason why you shouldn’t be able to patch the client install with an MRP then.
But there is one rule on this blog:
I always write only about things I tried out by myself – or somebody in our team has tried it out. In this case, I have to confess that I didn’t try it out. If somebody did already, let me know. Otherwise, I will do this by myself as soon as time allows. But I realized that the README does not tell anything about client install. It mentions that you need the base RU the MRP has been built for, and that you can use the MRP to patch your database home.
Especially the latter made me wonder:
- This MRP can only be installed to an Oracle home that has Oracle Database Release Update 19.32.0.0.260721.
- This MRP is applicable to the Oracle DB Home
But I will find out soon.
Can I apply an RU on top of an MRP?
This is an interesting one as well. A customer asked this on the blog the other day – and you sort-of-can.
Let me differ at first:
When you patch in-place (what we discrecmmend) than you must deinstall the MRP at first. For example, you have 19.31 RU with MRP3, and then you want to apply 19.32 RU into the same home. Since MRPs are one-off patches (same as the Data Pump Bundle Patch) you must remove them from the home at first before you can apply the 19.32 RU on top.
When you patch out-of-place (what we highly recommend) then you won’t have such issues. You prepare your new home with 19.32, and you don’t care what has installed in the old/previous home. You simply let datapatch do the cleanup work. It will sort it out for you, and you will have less hassle.
Further Links and Information
- MRP, CSPU, CPU, RU – some clarifications
- FAQ7719 – Introducing Critical Security Patch Updates (CSPUs) and FAQ
- (FAQ2283) Introducing Monthly Recommended Patches (MRPs) and FAQ
- (CPU302) Critical Security Patch Update (CSPU) August 2026 for Oracle Database Products
- Patching News: RURs are gone – long live MRPs
- Patching Process Changes with MRPs
- Password-protection of older RUs
–Mike
Hi Mike, what’s the status of the other “recommended” patches, such as Datapump or Oracle Text? Why isn’t there a central overview of all relevant patches? And in some cases, the download links leave a lot to be desired. It would be great if the Patch Download Assistant listed all available downloads – including those that aren’t available, for example, because they’re delayed. A little more transparency would make it easier for everyone involved to apply patches “now.”
Hi Roland,
I use AutoUpgrade for the download, and since then I don’t care about the links anymore.
Made my life so much easier – try it out.
What we can’t do is downloading patches which are delayed. Therefore, every patch release has a patch availability document, and section 2.2 has the Post Release Patches (yes, and I know, even those dates can slip).
But try it out from here:
https://mikedietrichde.com/2026/07/06/autoupgrade-patching-from-zero-to-hero-part-1/
You will see, it finds the things for you.
Cheers,
Mike
Mike,
Thanks for clarifying if you can apply an RU on top of an MRP. I found this on FAQ2283 and this makes it sound like you can. They need to clarify this
Q18: When 19.21 DB RU is being applied , will opatch report a conflict if (19.20 DB RU + MRP 1 + MRP 2+MRP 3) are applied? What sort of conflict – Subset /Superset?
A: No. There will not be a conflict reported as the next RU will act as a superset of the prior 3 MRPs installed.
Hi Doug,
this is wrong IMO if you attempt this in the existing home.
Why?
The MRP is a collection of one-offs, and it will raise a conflict immediately when you run the opatch conflict check.
I agree, this is not clear and misleading. The above is ONLY true for the “datapatch” part but certainly not for the binaries.
Cheers,
Mike
PS: I can’t see the owner of the FAQ – maybe you could leave a feedback? I will try to find the person as well.
Thanks Mike. I tried leaving feedback on FAQ2283, but it only allows a star rating and no comments
Hi Doug,
I tried to give feedback internally in parallel.
And sorry, I realized that the MOS migration did not carry over the ability to leave feedback for notes 🙁
Mike
Hi Mike,
To List MRP’s applied you can use AHF to do that (not OPatch as you have mentioned):
https://geodatamaster.com/2026/02/02/how-to-list-oracle-database-monthly-recommended-patches-mrps/
https://docs.oracle.com/en/engineered-systems/health-diagnostics/autonomous-health-framework/ahfug/ahf-software.html
Thanks and have a great day.
Emad Al-Mousa
Thank you, Emad – and yes, the AHF team is curating their own list to keep track.
Sadly enough, there is no way to “read” it from the inventory 🙁
Cheers,
Mike
Hi Mike,
Can you confirm if the use of the “RECOMMENDED” option, when downloading now also by default downloads the MRP’s?
This brings us issues, when a create_home and a deploy are more than a month apart
Thank you
Hi Frank-Jan,
i fully see your point – my first recommendation would be to automate the download, then build a gold image and work with this for a given time.
Then re-download, build a gold image, and use this. Rather than updating and moving forward.
I see that you may end up otherwise with MRP1 on installation A, and MRP2 on installation B in another environment.
Cheers,
Mike
Hi Mike,
Thank you for your reply. We will have a look at it, but it does not completely answer my question.
In the presentations Daniel and you gave it the MRP download and installation always was optional, by using
patch=recommended,mrp
Now it seems to be a default. We do get the MRP’s also when using
patch=recommended
Is that expected?
Hi Frank-Jan,
it has become mandatory. At the time we created our presentations, it was “optional”. Exec management has decided that a gold image must contain the most recent MRP.
If you want to avoid this “enforcement”, you need to do it like this:
download:
use prefix.gold_image=no
Then, when you use “recommended”, we will download the RU, the MRP etc – but you need to download the base release for 19c.
In 26ai, even then you will get a gold image but the RU base gold image, not the gold image from OUA which has the MRP embedded.
When you use gold_image=no, you then can decide whether you want the MRP, or not.
Cheers,
Mike
Hello Mike,
Thank you for the clarification.
I have one question. Currently, I am using Patch 38632161 (DATABASE RELEASE UPDATE 19.30.0.0.0, REL-JAN260130) for development databases. I would like to install Patch 39835323 (DATABASE CSPU 19.32.0.0.260818). Would this be the correct choice, given that it does not appear to be available for Linux x86-64?
Cheers,
Houda
Hi Houda,
you can’t apply an MRP or CSPU made on-top of 19.32 on top of RU 19.30.
You need to apply RU 19.32 at first, and then you can apply the MRP (for Linux) or the CSPU (for non-Linux).
Cheers,
Mike