Oracle Database java component not valid !

I have faced strange problem when applying July 2019 CPU patch in Oracle 12cR2 (12.2.0.1) database !

So I wanted to share it in my blog in case somebody faced a similar issue.

Symptoms:

Java component is not valid

select * from dba_registry;

when you execute utlrp for recompilation

SQL> @?/rdbms/admin/utlrp.sql

The following error is displayed:

### validate_javavm caught -29548

In the alert log file…the following error is thrown:

joxcsys: release mismatch, 12.2.0.1.190416 1.8 in database (classes.bin) vs 12.2.0.1.190716 1.8 in executable pid 28179 cid 0

SQL> select dbms_java.longname(‘TEST’) from dual;

select dbms_java.longname(‘TEST’) from dual

*

ERROR at line 1:

ORA-29548: Java system class reported: joxcsys: release mismatch,

12.2.0.1.190416 1.8 in database (classes.bin) vs 12.2.0.1.190716 1.8 in Executable

Proposed solution:

the first way: shutdown the database and listener and perform relinking

make -f $ORACLE_HOME/rdbms/lib/ins_rdbms.mk javavm_refresh ioracle

The second way:

Roll-back the OJVM patch and re-apply the patch again:

SQL> shutdown immediate;

lsnrctl stop listener_db11

$ORACLE_HOME/OPatch/opatch rollback -id 29774415

SQL> startup upgrade;

cd $ORACLE_HOME/OPatch

./datapatch –verbose

After roll-back is successful….apply the patch again and execute utlrp.sql to ensure JAVA component is now valid !

I hope this blog post helps !

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s