11.2.0.4.160119: PSU,OJVM PSU and Database Vault

A few week ago i wrote on twitter about a problem with PSU160119 and Database Vault. Now I meet a second problem with OJVM PSU160119 and Database Vault. Not the best PSU for Database Vault…

OJVM PSU160119:
Usually, you must grant the role DV_PATCH_ADMIN to SYS during the patching as described in readme and in MOS note ORA-01031 during Post Install / De-install for Database PSU or OJVM PSU with Data Vault installed (Doc ID 1935120.1)
But option 2 is not working with the latest OJVM PSU!

ERROR at line 1:
ORA-01031: insufficient privileges
ORA-06512: at "SYS.INITJVMAUX", line 535
ORA-06512: at line 15

Only option 1 is working: It’s neccessary to disable Database Vault before you can run the postinstall.sql .

PSU160119:
After the Installation of the patch, Database Vault was linked and not linked to the same time.

$ ar -t $ORACLE_HOME/rdbms/lib/libknlopt.a
kkxwtp.o
kfoff.o
ktd.o
kxmwsd.o
kciwcx.o
sllfls.o
kprnts.o
kdzof.o
kecwr.o
kkpoban.o
dmwdm.o
xsyeolap.o
kcsm.o
kzlilbac.o
kzvidv.o      <- Database Vault ON
kzvndv.o      <- Database Vault OFF
jox.o

This should not be possible and if you check the symbols with nm, you’ll find some of them twice(bold):

$ nm kzvidv.o kzvndv.o
kzvidv.o:
0000000000000000 r .eh_frame_seg
0000000000000000 r _2__STRING.30.0
                 U kcfdbo_
                 U kcfdor_
                 U kcfsgadc_
                 U kkdlgui
                 U ksmmpd_
0000000000000000 T kzvban
                 U kzvdvsys_
000000000000000e T kzvnfy
                 U kzvradmGetConfigStatus
                 U kzvradmGetDVPatchAuditState
                 U kzvradmGetOradebugState
                 U kzvsesini
0000000000000102 T kzvtins
kzvndv.o:
0000000000000000 r _2__STRING.30.0
                 U kcfdbo_
                 U kcfdor_
                 U kcfsgadc_
                 U kkdlgui
0000000000000000 T kzvban
                 U kzvdvsys_
000000000000000c T kzvnfy
0000000000000000 T kzvtins

Oracle confirmed this as Bug 22764152. Luckily the behaivior of the database is correct.
The solution is quite easy disable and enable Database Vault:

$ chopt disable dv
$ chopt enable dv

For details about Options check MOS note How to Check and Enable/Disable Oracle Binary Options (Doc ID 948061.1).

Advertisements