如何检查Oracle中的JDK版本?

Rav*_*pta 16 java oracle oracle11g

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

static BASE64Encoder B64 = new BASE64Encoder();
Run Code Online (Sandbox Code Playgroud)

我们看到了错误

java.lang.ExceptionInInitializerError

在这行代码上.

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

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

Oracle Database 11g企业版11.2.0.3.0版 - 64位生产.

谢谢.

小智 30

SELECT  dbms_java.get_ojvm_property(PROPSTRING=>'java.version') FROM dual
Run Code Online (Sandbox Code Playgroud)


Sub*_*mal 13

解决方案1)在数据库主机上

cd $ORACLE_HOME/jdk/bin
java -version
Run Code Online (Sandbox Code Playgroud)

解决方案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';
Run Code Online (Sandbox Code Playgroud)

并运行Java版本的选择

select get_java_property('java.version') from dual;
Run Code Online (Sandbox Code Playgroud)

解决方案3)检查SteveK的答案


Ank*_*hal 12

认证版本是:

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

  • 对于偶然发现此问题的任何人,来源是 342810.1。 (2认同)