From time to time, when I discuss OJVM patching with customers, I hear the following question: Do you need to apply OJVM patches to Grid Infrastructure? I’m carrying around this topic since months actually.

Photo by Jakub Kriz on Unsplash
A quick MOS check
Well, you’d assume this is something MOS does give you an answer within fractions of a second. But nope. I found a lot but unfortunately not what I was looking for. What I found instead where community discussions where applying OJVM patches to a 12.1.0.2 GI installation corrupted the inventory. Hence, there seems to be some evidence that people apply OJVM patches to GI homes.
Of course, I did check the README for the current OJVM January 2020 patch (30484981) – but it doesn’t answer my question.
So I’m in doubt now.
Good, when you have friends π
It happened that at OOW2019 my friend Roland from the RAC Performance Team attended as well. And in a quiet minute, we sat down at the Groundbreakers Hub in Moscone South’s basement and started evaluating the situation. Roland did a lot of OJVM patching in RAC environments. He knows all the gory details about it.
Why would you need to patch GI with OJVM??
We both were quickly in agreement that there may be two crucial points: The famous Grid Infrastructure Management Repository database (GIMR DB) which by the way is now optional in Oracle 19c – but only in a fresh GI install, not when you upgrade GI. And the ASM database. No other things could have any exposure to OJVM in a Grid Infrastructure home.
Check no.1: ASM database.
There is no JAVAVM
component in an ASM database. We checked CDB_REGISTRY
– and if there is no JAVAVM
, there is no java subsystem from the database side.
Check no.2: GIMR database.
Same thing, there is no JAVAVM
component in an GIMR DB. We checked CDB_REGISTRY
, and JAVAVM
is not present.
Check no.3: Is Java linked in?
The final check was necessary to make sure, JOX (the Just-in-Time Compiler) for the Java Virtual Machine is not linked in. It is present in standard environments by default. But JOX
is not present in the executables in a Grid Infrastructure home. They get linked with jox_off
.
And look how much fun we’ve had digging into this topic π
Thanks Roland!!
Summary
You may not need to apply OJVM patch bundles to a Grid Infrastructure home. There is no software component active allowing the use of OJVM functionality as far as I can see.
BUT: I’ve had a conversation with Anil Nair, the RAC PM. And Anil mentioned to me that there are components in the GI Home such as classes.bin
, jox.o
andΒ jdk files that need to be updated.Β
Now my question would be: Do I need to patch files which are in the home but won’t be actively used by the software stack?
And thank you to John Wang who pointed me to the MOS note I was searching for more than 1 hour:
In case you have a different opinion, please let me know. I’ll happily update this blog post with further insights.
One final question needs to remain unanswered: Why do we deliver COMBO patches with GI and OJVM? I have seriously no idea. And the README doesn’t shed some light here either.
Actually (thanks for adding this to Sven!), the reason is that the COMBO patch delivers everything despite that fact that it’s called GI+OJVM – it has the database patch bundle included, too.
Further Information and Links
- README OJVM Patch January 2020
- JOX – What happens if …
- MOS Note: 2118136.2 – Assistant: Download Reference for Oracle Database/GI Update, Revision, PSU, SPU(CPU), Bundle Patches, Patchsets and Base Releases
- MOS Note: 1929745.1 – Oracle Recommended Patches — “Oracle JavaVM Component Database PSU and Update” (OJVM PSU and OJVM Update) Patches
–Mike
The same question bothered me recently π
I successful installed OJVM to GI some time ago, but it was not easy.
opatch apply succeeded but then i failed to run OHAS CRS services up. I had to fix ORACLE_HOME security first, run roothas.sh with -postpatch or smth like than. I successfully managed with it. But it made me think..
Nothing was written about it. So i decided not to install OJVM patch to GI. I do it only for DB Home
>>>Why do we deliver COMBO patches with GI and OJVM? I have seriously no idea.
GI with OJVM combo also includes RDBMS patch. So we have to patch GI, RDBMS and OJVM for RDBMs home. It is logical. But but the description is lame. Here you are right )
Thanks Sergey,
I read by others about wrong permissions as well π
And yes, you are right about the COMBO – I missed this part and updated the blog post!
Cheers,
Mike
Hi Mike,
very interesting discussion and completely reasonable. I think, I’ll start not installing OJVM RUs into GI Homes now.
But, here is why I started to install OJVM RU’s into GI Homes approximately 2 years ago:
a) OJVM RU 18.3 was/is part of “Patch 28321357: Grid Software clone version 18.3.0.0” – see the Readme or have a look into it, it’s in the OSDC(edelivery) or OTN download too
b) actually, “it (the OJVM RU patch) does some work” – it patches files in the ORACLE_HOME/javavm subfolder, which is there in each GI (probably unused, but there)
c) yes, there is no OJVM in MGMTDB, but if someone “confused” would install it, it would be unsupported in any case, but unsupported with more security π
d) there never ever were issues (or at least: I never noticed any)
Downloads for GI19c do not have an OJVM RU included. Just checked it after reading your post.
Best regards and Thanks!
Olaf
Thanks a lot, Olaf!
That is very valuable – and following a discussion with Anil, I checked and updated the blog post.
Still I think: Not used means either the files shouldn’t be there if they can have any impact. Or if they don’t there is no need to patch.
But we are having now an internal discussion – I will update the post soon.
Cheers,
Mike
In Doc ID 1929745.1, it says, “OJVM PSU is not needed in the Grid home, only in the database home.”
Awesome – John, when our paths cross somewhere, beer or wine is on me please!
This was the sentence I was looking for for over 1 hour when I wrote this blog post!
T H A N K Y O U!
Mike
Hi Mike, ojvm+gi combo patch can be installed in database home.
From gi patch applicable subpatches to gi home are: db patch, acfs patch, ocw patch and tomcat patch.
Applicable subpatches from gi patch to db home are: database patch and ocw patch.
With ovjm and gi combo patch you get all you need with one download. Just hope new opatch would be included also in same zip fileπ₯΄
Cheers PeT
Thanks – I was blind and you are right.
Blog post updated π
Cheers,
MIke
I was recently setting up an 18c GI home. After running the install process and then running lsinventory I see
Patch 27923415 : applied on Wed Jul 18 11:11:07 GMT-07:00 2018
Unique Patch ID: 22239273
Patch description: “OJVM RELEASE UPDATE: 18.3.0.0.180717 (27923415)”
Created on 15 Jul 2018, 10:33:22 hrs PST8PDT
Bugs fixed:
27304131, 27539876, 27952586, 27642235, 27636900, 27461740
So if it’s not required why is it included in the base zip download?
From my perspective, I don’t want an outdated patch in my GI home so it seems like I should either try to uninstall it or update it. I decided to update it from 2019-10 combo patch.
./opatchauto apply /opt/oracle/opatch/30133246/30133603 -oh ${ORACLE_HOME}
Be sure to patch as root and use opatchauto. Now my GI home has:
Patch 30133603 : applied on Sat Jan 11 15:23:58 MST 2020
Unique Patch ID: 23088986
Patch description: “OJVM RELEASE UPDATE: 18.8.0.0.191015 (30133603)”
Created on 27 Aug 2019, 23:22:20 hrs PST8PDT
Bugs fixed:
27304131, 27539876, 27952586, 27642235, 27636900, 27461740, 28278547
28278640, 27936676, 28502098, 28915870, 28601874, 29445548, 29254623
29774362, 30160625
Hi Vince,
you didn’t do anything wrong – and I have my doubts that this patch should have ever included into the zip.
But IMHO, nothing could have been exposed as the functionality has no use within the GI databases (ASM and GIMRDB).
We are discussing this internally – and once a conclusion has been found, I will update the blog post.
Cheers,
Mike
Hi Mike,
Checking in on progress of internal discussions. I am frequently audited to make sure my patching is up to date. Would it be ok if I opened an SR to voice my opinions on OJVM patches to grid infrastructure?
Hi Vince,
sure – please do so!
Cheers,
Mike
I think Oracle package everything in GI COMBO patches because there is a opatchauto option that can patch
GI+DB+OJVM
does not mean it will apply OJVM in GI_JOME
Hi Alice,
I’m not sure whether it will apply OJVM to the GI home, too. I just can tell you that it isn’t needed there.
Cheers,
Mike
Excellent, thanks for the information, we were in dilemma for the same to apply OJVM on GI or not.
By reading your article we got an fair idea.
Regards,
Firoz K.Hussain
You are welcome π
Cheers
Mike
Mike, I noticed that after doing the OCT2022 RU on 19c for my RAC, the OJVM got applied to only one node and the second node says “Following patch skipped ” pointing to the OJVM patch number. Is that an expected behaviour?
Nope – I don’t think so.
I would recommend to open an SR please.
Cheers
Mike