如何检查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