如何在甲骨文中检查JDK版本?

2022-09-02 11:20:17

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

static BASE64Encoder B64 = new BASE64Encoder();

我们看到错误

java.lang.ExceptionInitializerError

在这行代码上。

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

我想检查运行我们的Oracle DB的JDK版本 -

Oracle 数据库 11g 企业版版本 11.2.0.3.0 - 64 位生产。

谢谢。


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

答案 2

解决方案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)检查史蒂夫K的答案


推荐