Oracle 19c Installation with 19.11.0 RU, OJVM and some other fixes

In an previous blog post we showed how to install and patch in one single action. And as I use this technique all the time when I setup new homes, would like to show you an Oracle 19c Installation with 19.11.0 RU, OJVM and some other fixes. The purpose of this blog post is mainly to demonstrate again how you can install and patch in one action. But also to help you avoiding a pitfall when you apply the OJVM RU from April 2021.

What do we need?

At first, let us clarify what we need as the minimum set of software and patch bundles. As I’d like to go to 19.11.0 directly, I will need to download at least:

Then in addition, I will download the 19.11.0 Release Update from April 2021.

For Linux, this will be:

This will be the minimum set: Software, Release Update and the correct Opatch version.

What do we want in addition?

But I want more. MOS Note: 555.1 (Oracle Database 19c Important Recommended One-off Patches) lists additional fixes on top. Unfortunately the list for 19.11.0 is empty at the moment but I have a few things on my wish list. So lets see whether those are available already for 19.11.0:

  • OJVM Release Update 19.10.0.0.210119 Patch 32067171 for all platforms

Ups – wait a bit – this is the January one. I want APRIL. Luckily MOS is “intelligent” and recommends to use a newer one as soon as I click on the 19.10.0 one:

Oracle 19c Installation with 19.11.0 RU, OJVM and some other fixes

Hence, this is the correct download:

I guess this will be corrected soon. And I silently ignore the fact that the README still asks you to do a STARTUP UPGRADE.

In addition, I would like to have the newest time zone patch and the most recent JDK patch as the RU delivers only n-1.

So I have a list of 5 additional one-offs in addition including the OJVM 19.11.0 bundle.

Installation with Patch Apply – First Attempt

Spoiler alert – from the headline for this chapter you may sense that something will go wrong. Let’s see.

My sequence of tasks:

  1. Download and unzip 19.3.0 into its new Oracle Home
  2. Remove the OPatch directory and unzip the newest opatch into the new Oracle Home
  3. Download and unzip 19.11.0 into a totally separate subdirectory
  4. Download and unzip OJVM Patch 32399816 into a different subdirectory
  5. Download and unzip Patch 32327201, Patch 32327208, Patch 32490416 and Patch 32356628 all into separate subdirectories
  6. Call the OUI and pass on the patches I’d like to apply right away.

This is how I setup the patch area to avoid xml files being overwritten by the next patch:

$ tree -L 2
.
├── dst
│   └── 32327201
├── dstojvm
│   └── 32327208
├── jdk
│   ├── 32490416
│   └── PatchSearch.xml
├── mutex
│   ├── 32356628
│   └── PatchSearch.xml
├── ojvm
│   ├── 32399816
│   └── PatchSearch.xml
└── RU
    ├── 32545013
    └── PatchSearch.xml

Then my installation command will be:

[HUGO] oracle@hol:/u01/app/oracle/product/19.11.0
$ ./runInstaller -applyRU patch/RU/32545013 -applyOneOffs patch/jdk/32490416,patch/mutex/32356628,patch/dst/32327201,patch/ojvm/32399816,patch/dstojvm/32327208

You can follow the OUI applying the patches, patch after patch, to the new home:

$ ./runInstaller -applyRU patch/RU/32545013 -applyOneOffs patch/jdk/32490416,patch/mutex/32356628,patch/dst/32327201,patch/ojvm/32399816,patch/dstojvm/32327208
Preparing the home to patch...
Applying the patch patch/RU/32545013...
Successfully applied the patch.
Applying the patch patch/jdk/32490416...
Successfully applied the patch.
Applying the patch patch/mutex/32356628...
Successfully applied the patch.
Applying the patch patch/dst/32327201...
Successfully applied the patch.
Applying the patch patch/ojvm/32399816...
Successfully applied the patch.
Applying the patch patch/dstojvm/32327208...
Successfully applied the patch.
The log can be found at: /u01/app/oraInventory/logs/InstallActions2021-04-22_04-04-40PM/installerPatchActions_2021-04-22_04-04-40PM.log
Launching Oracle Database Setup Wizard...

At this point, you can interact now with the GUI:

Oracle 19c Installation with 19.11.0 RU, OJVM and some other fixes

and later:

Oracle 19c Installation with 19.11.0 RU, OJVM and some other fixes

This looks fine, and I can kick it off.

But I shouldn’t count my chicken before they are hatched.

Oracle 19c Installation with 19.11.0 RU, OJVM and some other fixes

It fails during RMAN link. That is not nice. The log says:

You can find the log of this install session at:
 /u01/app/oraInventory/logs/InstallActions2021-04-22_04-04-40PM/installActions2021-04-22_04-04-40PM.log
Error in invoking target 'irman ioracle idrdactl idrdalsnr idrdaproc' of makefile '/u01/app/oracle/product/19.11.0/rdbms/lib/ins_rdbms.mk'. See '/u01/app/oraInventory/logs/InstallActions2021-04-22_04-04-40PM/installActions2021-04-22_04-04-40PM.log' for details.

And this is from the install log:

INFO:
/u01/app/oracle/product/19.11.0/lib//libserver19.a(joxwtp.o): In function `jox_eujs_nowait':
joxwtp.c:(.text+0xf7b): undefined reference to `jox_eujs_nowait_'

INFO:
make: *** [/u01/app/oracle/product/19.11.0/rdbms/lib/oracle] Error 1

INFO: End output from spawned process.
INFO: ----------------------------------
INFO: Exception thrown from action: make
Exception Name: MakefileException
Exception String: Error in invoking target 'irman ioracle idrdactl idrdalsnr idrdaproc' of makefile '/u01/app/oracle/product/19.11.0/rdbms/lib/ins_rdbms.mk'. See '/u01/app/oraInventory/logs/InstallActions2021-04-22_04-04-40PM/installActions2021-04-22_04-04-40PM.log' for details.
Exception Severity: 1
INFO: Error in invoking target 'irman ioracle idrdactl idrdalsnr idrdaproc' of makefile '/u01/app/oracle/product/19.11.0/rdbms/lib/ins_rdbms.mk'. See '/u01/app/oraInventory/logs/InstallActions2021-04-22_04-04-40PM/installActions2021-04-22_04-04-40PM.log' for details.
INFO:  [Apr 22, 2021 4:21:54 PM] InstallProgressMonitor: Completed phase 4

This seems to be the failure:

/u01/app/oracle/product/19.11.0/lib//libserver19.a(joxwtp.o): In function `jox_eujs_nowait': joxwtp.c:(.text+0xf7b): undefined reference to `jox_eujs_nowait_'

And my feeling tells me: This is coming from OJVM.

With a quick double-check (and the help of my colleague Thomas from presales who ran into this failure a bit earlier yesterday already), it became clear that I need to install OJVM separately.

  • Bug 32816171 – 19.11.0 INSTALLATION WITH “-APPLYRU -APPYONEOFFS” FAILS WHEN OJVM 19.11.0 INCLUDED: MAKEFILEEXCEPTION WITH JOX_EUJS_NOWAITFurther addition:
    19.11 OJVM RU includes fix for bug 32124570
    This requires “jox_on” linking target to be executed as part of “applying” the patch.
    But “runInstaller” does not execute this specific option.Hence at this point there is no quick way to fix this issue.
    If you plan to apply the OJVM 19.11.0 RU, you need to do it separately.

    As an alternate approach you may use the “create goldimage” procedure:
    https://docs.oracle.com/en/database/oracle/oracle-database/19/ladbi/Chunk7030974.html#GUID-30C45B5F-58A3-4D4C-8475-40093C51650B

Installation with Patch Apply – Second Attempt

Ok, let me repeat the exercise but now I will not include OJVM April 2021 RU but install it afterwards manually:

./runInstaller -applyRU patch/RU/32545013 -applyOneOffs patch/jdk/32490416,patch/mutex/32356628,patch/dst/32327201,patch/dstojvm/32327208

And now it works flawlessly:

$ ./runInstaller -applyRU patch/RU/32545013 -applyOneOffs patch/jdk/32490416,patch/mutex/32356628,patch/dst/32327201,patch/dstojvm/32327208
Preparing the home to patch...
Applying the patch patch/RU/32545013...
Successfully applied the patch.
Applying the patch patch/jdk/32490416...
Successfully applied the patch.
Applying the patch patch/mutex/32356628...
Successfully applied the patch.
Applying the patch patch/dst/32327201...
Successfully applied the patch.
Applying the patch patch/dstojvm/32327208...
Successfully applied the patch.
The log can be found at: /u01/app/oraInventory/logs/InstallActions2021-04-22_04-41-25PM/installerPatchActions_2021-04-22_04-41-25PM.log
Launching Oracle Database Setup Wizard...

The response file for this session can be found at:
 /u01/app/oracle/product/19.11/install/response/db_2021-04-22_04-41-25PM.rsp

You can find the log of this install session at:
 /u01/app/oraInventory/logs/InstallActions2021-04-22_04-41-25PM/installActions2021-04-22_04-41-25PM.log

I just need to apply the OJVM RU manually afterwards.

[HUGO] oracle@hol:/u01/app/oracle/product/19.11/patch/ojvm/32399816
$ $ORACLE_HOME/OPatch/opatch apply
Oracle Interim Patch Installer version 12.2.0.1.24
Copyright (c) 2021, Oracle Corporation.  All rights reserved.


Oracle Home       : /u01/app/oracle/product/19.11
Central Inventory : /u01/app/oraInventory
   from           : /u01/app/oracle/product/19.11/oraInst.loc
OPatch version    : 12.2.0.1.24
OUI version       : 12.2.0.7.0
Log file location : /u01/app/oracle/product/19.11/cfgtoollogs/opatch/opatch2021-04-22_16-55-58PM_1.log

Verifying environment and performing prerequisite checks...
OPatch continues with these patches:   32399816  

Do you want to proceed? [y|n]
y
User Responded with: Y
All checks passed.

Please shutdown Oracle instances running out of this ORACLE_HOME on the local system.
(Oracle Home = '/u01/app/oracle/product/19.11')


Is the local system ready for patching? [y|n]
y
User Responded with: Y
Backing up files...
Applying interim patch '32399816' to OH '/u01/app/oracle/product/19.11'

Patching component oracle.javavm.server, 19.0.0.0.0...

Patching component oracle.javavm.server.core, 19.0.0.0.0...

Patching component oracle.rdbms.dbscripts, 19.0.0.0.0...

Patching component oracle.rdbms, 19.0.0.0.0...

Patching component oracle.javavm.client, 19.0.0.0.0...
Patch 32399816 successfully applied.
Log file location: /u01/app/oracle/product/19.11/cfgtoollogs/opatch/opatch2021-04-22_16-55-58PM_1.log

OPatch succeeded.

Bug number for this incident is: Bug 32816171 – 19.11.0 INSTALLATION WITH “-APPLYRU -APPYONEOFFS” FAILS WHEN OJVM 19.11.0 INCLUDED: MAKEFILEEXCEPTION WITH JOX_EUJS_NOWAIT.

UPDATE:

As of now, Nov 26, 2021, there is still no solution for the bug. So this issue will persist at least until 19.14.0, if not even longer.

Further Links and Information

–Mike

Share this: