ORA-29548: системный класс Java сообщил: не удалось идентифицировать выпуск, указанный в classes.bin

Проблема: при моделировании распределенных транзакций с использованием Java и Oracle XA при запуске новой транзакции (xa.start) возникает исключение "ORA-29548: системный класс Java сообщил: не удалось идентифицировать выпуск, указанный в classes.bin"

Первоначальный анализ: проверил версии системы JDK и версию JDK в Oracle. Есть несоответствие.

System JDK (Java -version): 1.6.0_31
Oracle JDK (DBMS_JAVA.GET_JDK_VERSION()): 1.6.0_37

Является ли разница в JDK причиной ошибки "не удалось идентифицировать выпуск, указанный в classes.bin"? Есть ли другие потенциальные случаи, которые могут вызвать это?

2 ответа

Если вы применили к вашей базе данных недавний патч PSU или java, убедитесь, что вы запустили @postinstall.sql. Например, 20406220 имеет postinstall.sql в каталоге Oracle_home/sqlpatch/20406220.

На самом деле, я думаю, у вас есть разработчик, который сделал сборку с 1.7 (или же 1.8) и не установил уровень соответствия 1.6, Я говорю это потому, что ваша ошибка на самом деле связана с JRE, а соответствующая часть исключения - "системный класс Java сообщил: не удалось идентифицировать выпуск"

Другие вопросы по тегам