Wednesday, June 1, 2016

ORA-29548: Java system class reported: could not identify release specified in classes.bin

In our env. after migration of DB , the below error was facing


SQL>  conn profileuserr6_0/*****
Connected.
SQL> select SHA256.encrypt('TEST') from dual;
select SHA256.encrypt('TEST') from dual
       *
ERROR at line 1:
ORA-29548: Java system class reported: could not identify release specified in
classes.bin
ORA-06512: at "PROFILEUSERR6_0.SHA256", line 9

so we have followed Doc ID 1995261.1 and resolved this

in our env the second case was matching as described in doc. i.e. both patch 19121548 & 19282015 was present


subhen_host001:testDBa1 > /dboracle/orabase/product/11.2.0.3.15.0/OPatch/opatch lsinv|grep -i "19282015"
     19909862, 16885033, 20406220, 19282015, 13359289, 19895326, 13023632
subhen_host001:testDBa1 > /dboracle/orabase/product/11.2.0.3.15.0/OPatch/opatch lsinv|grep -i "19121548"
Sub-patch  19121548; "Database Patch Set Update : 11.2.0.3.12 (19121548)"
     14095982, 17333203, 19121548, 13591624, 14523004, 13440516, 16794241


the complete opatch output was as below

subhen_host001:testDBa1 > /dboracle/orabase/product/11.2.0.3.15.0/OPatch/opatch lsinv|grep -i "patch set"
Patch description:  "Database Patch Set Update : 11.2.0.3.15 (20760997)"
Sub-patch  20299017; "Database Patch Set Update : 11.2.0.3.14 (20299017)"
Sub-patch  19769496; "Database Patch Set Update : 11.2.0.3.13 (19769496)"
Sub-patch  19121548; "Database Patch Set Update : 11.2.0.3.12 (19121548)"
Sub-patch  18522512; "Database Patch Set Update : 11.2.0.3.11 (18522512)"
Sub-patch  18031683; "Database Patch Set Update : 11.2.0.3.10 (18031683)"
Sub-patch  17540582; "Database Patch Set Update : 11.2.0.3.9 (17540582)"
Sub-patch  16902043; "Database Patch Set Update : 11.2.0.3.8 (16902043)"
Sub-patch  16619892; "Database Patch Set Update : 11.2.0.3.7 (16619892)"
Sub-patch  16056266; "Database Patch Set Update : 11.2.0.3.6 (16056266)"
Sub-patch  14727310; "Database Patch Set Update : 11.2.0.3.5 (14727310)"
Sub-patch  14275605; "Database Patch Set Update : 11.2.0.3.4 (14275605)"
Sub-patch  13923374; "Database Patch Set Update : 11.2.0.3.3 (13923374)"
Sub-patch  13696216; "Database Patch Set Update : 11.2.0.3.2 (13696216)"
Sub-patch  13343438; "Database Patch Set Update : 11.2.0.3.1 (13343438)"
Patch description:  "Grid Infrastructure Patch Set Update : 11.2.0.3.9 (HAS Components)"


Solution : As a solution i had downloaded patch 19282015 from MOS and just ran the post install part as decribed in doc 1995261.1

below location i unzipped the patch and postinstall.sql file is there.

subhen_host001:testDBa1 > pwd
/datastore/software/19282015
subhen_host001:testDBa1 > ls -ltr
total 56
-rw-r--r--. 1 oracle oinstall    18 Oct 11  2014 README.txt
-rw-r--r--. 1 oracle oinstall   466 Oct 11  2014 postinstall.sql
-rw-r--r--. 1 oracle oinstall   354 Oct 11  2014 postdeinstall.sql
drwxr-xr-x. 4 oracle oinstall  4096 Oct 11  2014 etc/
drwxr-xr-x. 2 oracle oinstall  4096 Oct 11  2014 custom/
drwxr-xr-x. 8 oracle oinstall  4096 Oct 11  2014 files/
-rw-r--r--. 1 oracle oinstall 31139 Oct 30  2014 README.html

SQL> alter system set java_jit_enabled = FALSE scope=both sid='*';

System altered.

SQL> alter system set "_system_trig_enabled"=FALSE scope=both sid='*';

System altered.

SQL> alter system set JOB_QUEUE_PROCESSES=0  scope=both sid='*';

System altered.


subhen_host001:testDBa1 > srvctl status database -d ****_ap
Instance ****a1 is running on node subhen_host001
Instance ****a2 is running on node subhen_host002
subhen_host001:testDBa1 > srvctl stop database -d testDB_ap -o immediate
subhen_host001:testDBa1 > sqlplus / as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on Wed Jun 1 15:12:07 2016

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup restrict


SQL> @/datastore/software/19282015/postinstall.sql

--- post execution of script change the parameter values again.

SQL> alter system set java_jit_enabled = true scope=both sid='*';

System altered.

SQL> alter system set "_system_trig_enabled"=TRUE scope=both sid='*';

System altered.

SQL> alter system set JOB_QUEUE_PROCESSES=1000 scope=both sid='*';

System altered.

SQL> shu immediate

subhen_host001:pfcita1 > srvctl start database -d pfcit_ap

--- now the issue was resolved.

SQL> select SHA256.encrypt('TEST') from dual;

SHA256.ENCRYPT('TEST')
--------------------------------------------------------------------------------
lO4FkzXlh+UBzEv5BhPggU8Ap7CLx8ZI/YZaKvaiLMI=