In one of the oracle databases a daily export backup (expdp) is running every night, one day i was checking the log file and found the following errors:
ORA-06512: at “SYS.DBMS_METADATA”, line 10763
ORA-39127: unexpected error from call to BEGIN :1 := SYS.DBMS_JAVA.START_EXPORT(:2, :3, :4, :5, :6, :7, :8, :9 ,:10); END;
ORA-29548: Java system class reported: release of Java system classes in the database (12.1.0.2.0 1.6) does not match that of the oracle executable (12.1.0.2.170718 1.6)
ORA-06512: at “SYS.DBMS_JAVA”, line 520
my database environment is:
Oracle 12cR1 (12.1.0.2)
IBM AIX 7.1
and database java component is installed.
i ran the following query for testing:
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.0 1.6) does not match that of the oracle executable
(12.1.0.2.170718 1.6)
SOLUTION:
shutdown the database and listener
cd $ORACLE_HOME/rdbms/lib
If you have already applied OCT 2016 OJVMPSU, then relink using below command.
make -f ins_rdbms.mk javavm_refresh patchset_opt_all ioracle
if you didn’t apply OCT 2016 OJVMPSU then:
make -f ins_rdbms.mk javavm_refresh ioracle
startup the database and then try re-executing the query again:
SQL> select dbms_java.get_jdk_version() from dual;