Recently I have faced below error, while running FNDCPASS for changing apps password.
ORA-29548: Java system class reported: release of Java system classes in the database (12.1.0.2.201020 1.6) does not match that of the oracle executable (12.1.0.2.190716 1.6)
Error Logs:
[applmgr@erpserver ~]$ FNDCPASS apps/apps 0 Y system/manager SYSTEM APPLSYS apps123Log filename : L7280668.log
Report filename : O7280668.out
[applmgr@erpserver ~]$ cat L7280668.log+—————————————————————————+
Application Object Library: Version : 12.2
Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved.
FNDCPASS:
+—————————————————————————+
Current system time is 18-JUL-2021 23:19:23
+—————————————————————————+
Arguments
FNDCPASS system/***** SYSTEM APPLSYS *****
+—————————————————————————-+
Working…
Oracle error -29548: ORA-29548: Java system class reported: release of Java system classes in the database (12.1.0.2.201020 1.6) does not match that of the oracle executable (12.1.0.2.190716 1.6) – USER ( APPS ) has been detected in FND_WEB_SEC.GET_OP_VALUE.
+—————————————————————————+
Concurrent request completed
Current system time is 18-JUL-2021 23:19:23
+—————————————————————————+
Solution:
Run, below two scripts as “sys” user.
1) select dbms_java.get_jdk_version() from dual;
2) @?/javavm/install/update_javavm_db.sql
Output:
SYS@ERPDB> 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.201020 1.6) does not match that of the oracle executable (12.1.0.2.190716 1.6)
SYS@ERPDB> @?/javavm/install/update_javavm_db.sql
SYS@ERPDB> SET FEEDBACK 1
SYS@ERPDB> SET NUMWIDTH 10
SYS@ERPDB> SET LINESIZE 80
SYS@ERPDB> SET TRIMSPOOL ON
SYS@ERPDB> SET TAB OFF
SYS@ERPDB> SET PAGESIZE 100
SYS@ERPDB>
SYS@ERPDB> alter session set “_ORACLE_SCRIPT”=true;
Session altered.
SYS@ERPDB>
SYS@ERPDB> — If Java is installed, do CJS.
SYS@ERPDB>
SYS@ERPDB> — If CJS can deal with the SROs inconsistent with the new JDK,
SYS@ERPDB> — the drop_sros() call here can be removed.
SYS@ERPDB> call initjvmaux.drop_sros();
Call completed.
SYS@ERPDB>
SYS@ERPDB> create or replace java system;
2 /
Java created.
SYS@ERPDB>
SYS@ERPDB> 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.
SYS@ERPDB>
SYS@ERPDB> commit;
Commit complete.
SYS@ERPDB>
SYS@ERPDB> alter session set “_ORACLE_SCRIPT”=false;
Session altered.
SYS@ERPDB> select dbms_java.get_jdk_version() from dual;
DBMS_JAVA.GET_JDK_VERSION()
1.6.0_211
1 row selected.