Pages

Search This Blog

Wednesday, February 19, 2020

ORA-29548: Java system class reported: release of Java system classes in the database (12.1.0.2.190716 1.6) does not match that of the oracle executable (12.1.0.2.200114 1.6) - USER ( APPS ) has been detected in FND_WEB_SEC.GET_OP_VALUE." then follow below steps.

Issue Details:

We have applied Java VM PSU (July 2019) on our 12c (12.1.0.2) database in 2019.  Now we applied JavaVM PSU (Jan 2020).  After patch one of the user reported their functionality failing with below error.

 "Oracle error -29548: ORA-29548: Java system class reported: release of Java system classes in the database (12.1.0.2.190716 1.6) does not match that of the oracle executable (12.1.0.2.200114 1.6) - USER ( APPS ) has been detected in FND_WEB_SEC.GET_OP_VALUE."


Solution:

It is always better to check below two queries after we apply JavaVM patches.

SQL> select dbms_java.get_jdk_version() from dual;
select dbms_java.get_jdk_version() from dual
                                        *
ERROR at line 1:
ORA-29548: Java system class reported: release of Java system classes in the
database (12.1.0.2.190716 1.6) does not match that of the oracle executable
(12.1.0.2.200114 1.6)

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: release of Java system classes in the
database (12.1.0.2.190716 1.6) does not match that of the oracle executable
(12.1.0.2.200114 1.6)

SQL>

 To fix the above error, run the below command as SYS user.

SQL> @?/javavm/install/update_javavm_db.sql
SQL> SET FEEDBACK 1
SQL> SET NUMWIDTH 10
SQL> SET LINESIZE 80
SQL> SET TRIMSPOOL ON
SQL> SET TAB OFF
SQL> SET PAGESIZE 100
SQL>
SQL> alter session set "_ORACLE_SCRIPT"=true;

Session altered.

SQL>
SQL> -- If Java is installed, do CJS.
SQL>
SQL> -- If CJS can deal with the SROs inconsistent with the new JDK,
SQL> -- the drop_sros() call here can be removed.
SQL> call initjvmaux.drop_sros();

Call completed.

SQL>
SQL> create or replace java system;
  2  /

Java created.

SQL>
SQL> update dependency$
  2    set p_timestamp=(select stime from obj$ where obj#=p_obj#)
  3    where (select stime from obj$ where obj#=p_obj#)!=p_timestamp and
  4          (select type# from obj$ where obj#=p_obj#)=29  and
  5          (select owner# from obj$ where obj#=p_obj#)=0;

0 rows updated.

SQL>
SQL> commit;

Commit complete.

SQL>



Now run the above two queries and test the issue still persists or not.

SQL> alter session set "_ORACLE_SCRIPT"=false;

Session altered.

SQL>
SQL> select dbms_java.get_jdk_version() from dual;

DBMS_JAVA.GET_JDK_VERSION()
--------------------------------------------------------------------------------
1.6.0_211

1 row selected.

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

DBMS_JAVA.LONGNAME('TEST')
--------------------------------------------------------------------------------
TEST

1 row selected.

SQL>

No comments:

Post a Comment