我们的Oracle DB中有一个Java类,最近该java类中的一行代码引发了错误:
static BASE64Encoder B64 = new BASE64Encoder();
我们看到错误
java.lang.ExceptionInInitializerError
在这行代码上。
我不确定数据库端有什么变化,因为我们没有SYS权限或访问主机。
我希望检查运行Oracle DB的JDK版本 -
Oracle Database 11g企业版11.2.0.3.0版 - 64位生产。
谢谢。
答案 0 :(得分:28)
SELECT dbms_java.get_ojvm_property(PROPSTRING=>'java.version') FROM dual
答案 1 :(得分:13)
解决方案1)
cd $ORACLE_HOME/jdk/bin
java -version
解决方案2)创建PL / SQL函数以返回Java系统属性
create function get_java_property(prop in varchar2)
return varchar2 is
language java name 'java.lang.System.getProperty(java.lang.String) return java.lang.String';
运行Java版本的选择
select get_java_property('java.version') from dual;
解决方案3)检查SteveK
的答案答案 2 :(得分:12)
认证版本是:
Oracle 12.2 / 18.1 JVM是1.8
Oracle 12c 数据库嵌入式JVM supports JDK 1.6 and 1.7
Oracle 11g> = 11.2.0.4 数据库嵌入式JVM supports JDK 1.6
Oracle 11g 数据库嵌入式JVM supports JRE 1.5。
Oracle 10g 数据库嵌入式JVM支持 JRE 1.4 。
Oracle 9i 数据库嵌入式JVM支持 JRE 1.3