如何检查Oracle中的JDK版本?

我们的Oracle数据库中有一个Java类,最近该java类中的一行代码引发了错误:

static BASE64Encoder B64 = new BASE64Encoder(); 

我们看到了错误

java.lang.ExceptionInInitializerError

在这行代码上。

我不确定数据库端有什么变化,因为我们没有SYS权限或访问主机。

我希望检查运行Oracle DB的JDK版本 –

Oracle Database 11g企业版11.2.0.3.0版 – 64位生产。

谢谢。

 SELECT dbms_java.get_ojvm_property(PROPSTRING=>'java.version') FROM dual 

解决方案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的答案

认证版本是:

Oracle 12.2 / 18.1 JVM是1.8

Oracle 12c数据库嵌入式JVM支持JDK 1.6和1.7

Oracle 11g> = 11.2.0.4数据库嵌入式JVM支持JDK 1.6

Oracle 11g数据库嵌入式JVM支持JRE 1.5

Oracle 10g数据库嵌入式JVM支持JRE 1.4

Oracle 9i数据库嵌入式JVM支持JRE 1.3